Movement bug with latest 1.10.2 version of Dynamic Surroundings
darthvader45 opened this issue · 50 comments
Mod Version: 3.3.3.1 for 1.10.2
Forge Version: 1.10.2-12.18.3.2185
Link to crash log (if applicable):
Description: Player movement bugs out. Sometimes can't move, other times one press of a movement key leads to 1-2 seconds of continuous movement in that direction.
Anything in the client log? Dynamic Surroundings doesn't do anything with keyboard input other than using the standard key handlers for menus and options like any other mod.
Weirdly enough, 3.3.3.1 was the latest I could find for 1.10.2 on CurseForge, which I'm looking at right now.
Okay. I'll try the beta and see if it fixes anything. Also noticed that NEI's latest version was spamming my console with NPEs about filtering items/blocks. Imma go poke Chickenbones and find out what's up.
@OreCruncher Nope, bug still happens.
@darthvader45 What build of DS were you using before that didn't have this issue?
You made the jump from 1.7.10 to 1.10.2. Hmm...ok. Would you mind trying one of the older RELEASE builds of DS for 1.10.2? Reason I ask is that I don't see the problem myself and I need to get a sense of "was it always there" or was it "something that was introduced recently".
Alrighty, I'll test the other 2 releases for 1.10.2 and see if the bug persists.
Okay, bug doesn't happen with 3.2.8.1, so it must be a recent thing.
Looked a the changes I made between those versions and nothing stands out. :\ You have a mod list you can post?
EDIT: If you are familiar could you do a SHIFT+F3? This will display the Minecraft timing graph in the lower right. Dynamic Surroundings adds an entry under "tick" which will give various timings. I imagine that if this problem occurs you would see a spike in one of the DS timing values.
I am making some code changes and adding some options based on what I think the issues may be. They will be in the next BETA v3.4.3.1. Based on your experience we can make some config changes to see if it can be fixed.
Odd question, but does this happen if you stay in the same area for a while? Or do you notice it more travelling? I am not thinking that it would be chunk load related, but it may be due to something else.
EDIT: Another dumb question - do you have debug tracing turned on in DS?
Pushed a v3.4.4.0 that has a bunch of internal changes related to performance. Give it a try. If it doesn't improve change the "Stream Buffer Size" in dsurround.cfg to 32 and let me know the impact. (Changing the setting requires a client restart.)
@darthvader45 Have you had a chance to poke a stick at it? :)
I checked, haven't had a thunderstorm yet, so Idk. Once I hear it w/o Local Weather, I'll try with and see what happens.
Okay, vanilla thunder sound is always replaced, movement bug came back recently, though it is definitely a performance issue. Might want to tweak the performance defaults again. Maybe check to see if there are any memory leaks.
I'll see what that does. Just wondering, why's the default set to 0?
Nvm, 0 means system default of usually 128kb. Got it.
0 means use whatever Minecraft has it set to. Don't set it less than 32 - strange things can happen.
Okay, seems I had to cold-boot due to Razer Cortex's Game Broadcaster being blocked from using my graphics card. Hopefully didn't lose my world. I'll see what 32 does for me.
I pushed a v3.4.5.1 that has additional tweaks to improve area scanning performance. I am going to mark this as fixed/closed. If for some reason the problem pops up again we can revisit.
Yeah - mods like Sound Filters can double up on a sound play because of how they work. Sound Filters does area analysis to determine the type of sound modification to make, like sound muffling and reverb. These computations can be intense depending. I been through similar things with my area analysis routines in Dynamic Surroundings.
It's not that they are not playing nice - it's just that these things can be computationally expensive. It's on my list of things to see if the entire process can be streamlined a bit. Part of this issue is that all this stuff occurs on the client thread because Minecraft is generally running on a single thread per side. Would be nice to somehow multi-thread, but that is a challenge when an application isn't designed that way.
Just to let you know I am interested in hearing about these things. Sometimes it is hard to tell what is causing a problem until someone looks. :)
Just wanted to say thanks for fixing my issue. Had some out-of-Minecraft PC issues, which kinda doubled up on my lag, so now it's running rather smoothly. Keep doing what you do best.
That is the sound engine PaulsCode in Minecraft croaking. Not my code. :) That restart message is because DS detects the crashed thread and does a restart. Without DS installed I would doubt you would notice the crash because all it affects are streaming sounds (like the menu music). DS makes use of a lot of streaming sounds (like the biome background sounds) so it would be more apparent when the thread crashes because you would no longer hear the sound.
EDIT: CreativeMD is working on some "fixes" for PaulsCode to mitigate this further. Waiting to see what he does with it.
@darthvader45 BTW, which version are you currently running of DS?
I am pasting this here for my reference:
[10:25:13] [Thread-26/INFO]: [java.lang.ThreadGroup:uncaughtException:1052]: java.lang.NullPointerException
[10:25:13] [Thread-26/INFO]: [java.lang.ThreadGroup:uncaughtException:1052]: at paulscode.sound.Source.stream(Source.java:953)
[10:25:13] [Thread-26/INFO]: [java.lang.ThreadGroup:uncaughtException:1052]: at paulscode.sound.StreamThread.run(StreamThread.java:129)
@darthvader45 Can you try out this JAR? It put in some additional error checking. Right now I am taking shots in the dark with my suspicions.
More crash stack from my private world:
[14:23:00] [Thread-26/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: java.lang.NullPointerException
[14:23:00] [Thread-26/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at paulscode.sound.codecs.CodecJOrbis.readBytes(CodecJOrbis.java:587)
[14:23:00] [Thread-26/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at paulscode.sound.codecs.CodecJOrbis.read(CodecJOrbis.java:356)
[14:23:00] [Thread-26/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at paulscode.sound.Source.stream(Source.java:953)
[14:23:00] [Thread-26/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:-1]: at paulscode.sound.StreamThread.run(StreamThread.java:129)