Jump to content

AMD Ryzen 9800x3d stutter issue / stuttering through pipes


Recommended Posts

hi,

I swapped my 7600x for a 9800x3d and now Oni hangs for about 100ms every few seconds.

Sometimes it hangs longer, around 500ms. I could observe in hwinfo that the GPU sometimes slows down to 0 MHz, apparently the entire engine stops?

I tried to record a video of it, but the recording doesn't make it look as bad. Without the recording, the hangups are more frequent and longer.

I wanted to use GPU-Z to show the GPU behavior, but the recording probably made the GPU more active. I also noticed that GPU-Z makes the whole thing significantly worse.

What I've tried so far:
Bios reset
dpc latency checked -> is ok
chipset drivers updated
window/full screen
Tried about 10 other games, none of them showed similar behavior

I've been trying to solve this for 3 days. I would also say that Oni has always had this behavior on my PC, only in the past it was much less and shorter.
Just found this by chance:

I had also read something about hacs, but according to AMD and Microsoft, my graphics card (AMD RX 6800XT) doesn't support it at all. There is no option to deactivate it in my Windows 11.

I tried this:

As far as I can tell, the stuttering is gone, but the game runs at 15 fps on the integrated GPU.

5 hours ago, Gurgel said:

Is your cooling good? This sounds like some emergency thermal throttling because the GPU is overheating. 

That said, no stutter at all here on an 7800X3D + RX 6600.

60°C
All other components are ok too. As I said, this doesn't happen in any other game.
 

5 hours ago, Sturm58 said:

For some reason turning on windows XBOX overlay helps.
 

XBOX overlay is on
 

 
18 hours ago, Gurgel said:

Hmm. Current video drivers? Current Windows patches? Win10 or win11?

Unfortunately, diagnosing these things on Windows is always somewhat groping in the dark. So far we can probably rule out the CPU. 

You've already solved half of the problem. I did a dxdiag and found that my monitor was set to 59Hz...
At 60Hz these hundreds of micro stutters are gone. At 144Hz it is relatively bad, at 120Hz it is better but still worse than 60Hz.
Turning off Freesync doesn't seem to make a difference.

Windows 11 up-do-date etc... dxdiag...

But these larger outliers are still there. Apparently there is a pattern. The faster the game runs, the more often they appear. See jpg attachments, but it doesn't seem to be 100% persistent. The first screenshot is at 60Fps and the second at 120Fps. There is a little deviation every time you start a game.

60Hz.jpg

120Hz.jpg

Edit
It seems like the problem has been going on for a while:

 

First, glad the micro-stutter is gone! 

Now for some more guesswork:
How much memory do you have? I think Oni has an opportunistic Garbage Collector, but these go to "stop the world" when memory goes low.

I have no issue with 32GB, but I have essentially nothing running in the background except a web-browser usually. ONI is at 17GB with my current colony and still available memory is at 6GB. All from Windows Task Manager.

Yes, it could be GC, but why is this suddenly a problem? When I restart the game and start a new game, the stuttering goes away.

I have 64GB Ram and ONY needs about 5-6.

Could you try my savegame file? Does that happen to you too?

I also found this:

Looks like some people are having this problem.
 

Trainwreck.sav

Hi,

I gave your save file a quick try don't have the issue.

Your game looks paused, so I just let it run for a few moments that everything can update, paused the game and scrolled around.
Stutter does not happen for me.

Regards

7 hours ago, Fubbel1 said:

Hi,

I gave your save file a quick try don't have the issue.

Your game looks paused, so I just let it run for a few moments that everything can update, paused the game and scrolled around.
Stutter does not happen for me.

Regards

thx

I had 2 stuttering problems, 1 of which has already been fixed. Interesting that it works for you. So it's probably not a general problem with my saved game or the game.

To make the remaining problem clearer, I made a new video with better data:

 

Hi,

so after seeing the video again I checked again.

As said before while in pause mode there are no stutters for me. I thought that was it, about having stutters while paused.

Anyway while letting the game run in 1x speed I have ocasional stutters, they look like yours. But I have similar stutters in other playthroughs, so basically in my own save files which I tested as comparison.
Usually I mostly play at 3x speed and just asumed that Oni makes some calculations in the background. I am not too bothered by this and to be honest don't really realised them so much.

But to say this very clearly I have way less stutters than in your video! In my own saves as well as in your save. To be more specific I have between 3 to 6 stutterrs per cycle. (not including the save game which lets the game hang). In my own save I tried it was roughly 4 stutters per cycle at 1x speed. In your game it was more like 6 stutters.
I might be wrong with this, but my stutter seems to be less short and less annoying compared to your video. (apart that I counted roughly 10 stutters for just a quarter cycle in your video, which makes it more annoying of course).

As of my experience this all starts as soon as you get more stuff. Map more revelead, other astesroids, digging out the map. Most drag in my opinion comes through (water & gas) pipes, dupes and critters / ranches. So I always thought this is some overall performance issues with mid to late game. (I read somewhere in the forum today that with some recent patches (Bionic Update or some patch after that) overall performance was improved though.)

EDIT:
after posting this I realized that I installed Fast Track mod today for the first time, trying my old save with that and it improves performance. For some reason though when disabling the mod and testing your save file again I have less stutters. Stutters get roughly halfed or maybe even a bit less. 
Since I never played really with Fast Track enabled, maybe this is also a reason I never really felt stutters as they occur more occasionally. 

Hope this helps.

Regards

PS: since I saw this today as well, do you have regular monitoring apps running on your PC? e.g. something like afterburner.

Ok, so I did find the time. Interestingly, I have these half-second stutters every 20 seconds or so with your save. They happen with the game running and with the game paused.

No idea what causes it though and I have never observed it with any of my games. While your base-style is very different, nothing really jumps out to me as problematic. 

One thing I noticed is that my current base (cycle 11k or so, so not simple) paused gives about 14% CPU load and 14% GPU load, while your game paused gives about 11% CPU load but 33% GPU load. That does not seem right, somehow. 

But here is the bizarre thing, I started ONI, loaded your save, problem present. Then I loaded my base, no problem. And then I loaded your save again without restarting ONI, problem gone and CPU load while paused down to 16%. Almost like the GPU does load and discard textures on your base, then does a clean load on mine and then works for yours as well. But it gets stranger: Repeating that with a newly started ONI, stutter on your base, then stutter on my base as well (!), then again no stutter on your base.

And just for giggles, on a freshly started ONI, I tried loading my current base first, running it a few seconds and then loading yours. No stutter and GPU at around 16% while idle. If you want to try that, my save I tested with is below. Does require robotic update. 

So, it does not seem to be your computer. It does seem to be something in your base. And it probably is some bizarre garbage-collector issue that can be fixed, at least temporary, by loading my base first.

235.sav

I don't have Bionic Update so I cannot test with your save.

But I cannot confirm any GPU load reduction when trying to load my saves compared to the save of dani.

My GPU load is relatively high though compared to yours and is at 35 to 40% roughly (mostly 38 to 40 %) when the game is paused. RTX 3080.
While the game is running it stays roughly the same the GPU % usage.
But I have seen this in other games as well already that GPU load is relatively high in Task Manager even though the game is not graphic hungry. According to HWinfo W Usage stays relatively low so I never bothered and thought this is how RTX3080 shows it in Task Manager.

Maybe I should mention that I don't have an X3D CPU as you two, think it was not mentioned though that only people with X3D CPU should test your save file.
I have an 5800X.

52 minutes ago, Gurgel said:

Ok, so I did find the time. Interestingly, I have these half-second stutters every 20 seconds or so with your save. They happen with the game running and with the game paused.

No idea what causes it though and I have never observed it with any of my games. While your base-style is very different, nothing really jumps out to me as problematic. 

One thing I noticed is that my current base (cycle 11k or so, so not simple) paused gives about 14% CPU load and 14% GPU load, while your game paused gives about 11% CPU load but 33% GPU load. That does not seem right, somehow. 

But here is the bizarre thing, I started ONI, loaded your save, problem present. Then I loaded my base, no problem. And then I loaded your save again without restarting ONI, problem gone and CPU load while paused down to 16%. Almost like the GPU does load and discard textures on your base, then does a clean load on mine and then works for yours as well. But it gets stranger: Repeating that with a newly started ONI, stutter on your base, then stutter on my base as well (!), then again no stutter on your base.

And just for giggles, on a freshly started ONI, I tried loading my current base first, running it a few seconds and then loading yours. No stutter and GPU at around 16% while idle. If you want to try that, my save I tested with is below. Does require robotic update. 

So, it does not seem to be your computer. It does seem to be something in your base. And it probably is some bizarre garbage-collector issue that can be fixed, at least temporary, by loading my base first.

235.sav 39.05 MB · 2 downloads

Confirmed
I load your saved game then mine and it works for me too. The problem is of course there but much larger distances and much faster :confused:

hmm that's odd.

I have more stutters in dani save file when loading the game first. But less than in the recorded video. But as Gurgel mentions every 20 secs roughly. But I would say it's definitely less than half a sec. Loading my save afterwards is fine with the ocasional stutters.

Restarting ONI, loading my save first letting it run a bit, with ocasional stutters as mentioned above, then loading dani save file and it has less stutters compared to loading dani save file first after ONI restart. It is then 6 stutters in a cycle. 

Loading other save file always from game directly without returning to main menu first.

Rewatching the video again I definitely am very sure that in my game the stutter is less short and obvious. But if I understood you correctly that stutter is more short now when loading the save game of Gurgel first?

That's really odd and I wouldn't have expected that...
difficult to make a proper conclusion here...

14 hours ago, dani9 said:

I went into the sandbox and started deleting things. At some point it stopped (after a restart)
The only question is what it was.
At least it's not permanent

I have one data-point: I did suspect your use of various colored drywall plates. Had the dupes deconstruct them all. No effect. 

Yes, that could definitely be it. A single case of this in the pipe network may be enough to trigger it. And because the scheduling is likely non-deterministic and hence the behaviour probably depends on memory management, this would explain why loading my save first "fixes" things. What probably happens instead is that loading my save makes the soft-fail (scheduling-algorithm notices it uses too much memory) happening much sooner and hence be a lot less noticeable.

Obviously, this is a hard problem and heuristics are needed for good performance and that can cause all kings of strange effects. (If the engine allows it, it is also something that could run on its own CPU, but I think the engine stands in the way of that...).

I recently started a new colony, cycle 220 now and up till now there is no stuttering at all.

So this has something to do with how big the colony gets and as mentioned by dani probably also a thing with pipes.

If I find the time the other days maybe I can also try to remove some pipes in my old colony where I have occasional stutter.

After writing I had an idea of what pipes to cut in my colony.

grafik.png.d9c4d67f7331b9080d3bd4b12706502b.png
So I basically just snipped of the pipes in front of the all these Aquatuners stopping the liquid flow with it. I just let the game running, withour restarting ONI or reloading the game, so everything done ingame directly. Stutters reduced to 1 per cycle from roughly 4 stutters per cycle before.

My assumption would be that cutting of some other cooling loop in my colony would result in removing the last stutter as well. 

But now to the weird part...

So I reconnected all the Aquatuner pipes assuming I would get more stutters again. But it was 1 stutter per cycle. 
I then saved the game, restarted ONI loaded into that save resulting in stutters every roughly 15 seconds.
I disconnected the same pipes again resulting in 1 stutter per cycle, reconnected them again still being at 1 stutter per cycle.

I haven't retried this mutiple times now, but interesting is that cutting off the pipes makes it better (less stutters) and reconnecting them doesn't seem to bring back the stutters (at least not right away)
Can you confirm that cutting of the pipes reduces the stutter? (also without restarting) What happen when you reconnect the pipes? Is there an improvement?

Regards

Despite the potential performance issues you could make your life easier if you dumped the heat from the metal refineries into the steam room instead of running it through aquatuners.

Also petroleum is one of the worst AZ coolants. Four steam turbines can be easily cooled with a water loop

actually a good idea to dump the heat into the steam room instead through AT.

well yeah usually I use polluted water to cool the AT. Not sure why I did it different there. Maybe because I brought petroleum there already? Cannot really say anmore :)
 

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...