1
2
Nov 10 2021, 9:41 pm
|
|
Just wanted to jump in to say I do have plans to look at this. I've had other bugs pile up on me and turn into headaches. This is gonna be a tough one but I'll see if I can find anything.
|
From what I'm seeing with this, this appears to be related to the client message loop fix that I did a few versions back that ended up breaking a bunch of stuff, except I thought I'd made enough changes since that it wouldn't be an issue anymore. Something however is definitely messing up the message queue.
I noticed that after spawning a reasonable number of objects and turning off spawning, if I turn the movement timer down to 0.2s from 0.4s then DS's CPU usage rises quickly. If I turn off the conveyor it goes back down to nothing. |
Update: It appears this isn't the message loop. There was a message loop issue but the real problem appears to be GetVisParams() on the backend. I can't tell yet why that's growing as it is, but it's growing steadily which makes no sense.
There is a bad actor in that routine that looks at moving objects specifically, which is very hard to nail down. But, this shouldn't be growing unbounded as it is, so something is way out of whack. I'm narrowing this down further. |
Lummox JR resolved issue with message:
When movable atoms were continually moving, entries built up in a client-side list of movers, causing major progressive slowdowns even with just a few objects. Normally this was not visible because most objects stop moving at some point. This issue is very old and probably had a small but occasionally noticeable impact on many games. |
1
2