Microstutters on Windows 10.0.18363
Describe the bug: I get small microstutters when playing osu!lazer. Although the microstutters are small, they certainly aren't unnoticable, and I don't face the same issue in stable. Submitting a new issue for Windows specifically, since it could be entirely unrelated to the stutters seen on the Linux issue.
Screenshots or videos showing encountered issue: A video is available here. You can see there are a couple significant stutters during gameplay, but there is one in the end that's particularly noticeable which I point out.
osu!lazer version:
Hard to say. The few spikes throughout are GC spikes, which are related to the Linux issue, and ultimately finalizers in general. The final spike you point out is just a general draw spike and is probably more related to overall GPU load.
In that case should we reserve this issue for the draw spikes? I'm getting both gc and draw spikes, but it's quite likely that any fixes for the gc spikes in the other issue will apply for mine as well.
Yes the GC fixes will apply to you too. We're already tracking that one in https://github.com/ppy/osu-framework/issues/4229 and the dotnet/runtime issue linked there.
So this one can be repurposed for the draw spike, but I also don't know whether there is a fix that can be done here, it needs more investigation.
Going to raise this for Windows Dev Build 21032 as well. It wasn't just a microsttuter but at some point in the game there would be a 2-second "hangup", probably GC doing its thing. Will check if the o!f PR patch would resolve this.
@sr229 comments like yours are basically spam at this point. unless you are going to provide logs, information, or add something, please refrain from posting.
@sr229 comments like yours are basically spam at this point. unless you are going to provide logs, information, or add something, please refrain from posting.
Oh, I thought I uploaded it for some reason, I attached the logs here now.
performance-update.log runtime.log network.log performance.log performance-audio.log performance-draw.log
Some of the logs date back to 2021.302 but may be relevant.
I'm having this issue to the point of unplayability. The entire time the game is running for me there are stutters every 1-2 seconds. I'm not sure if this is related but I had a similar issue in stable that was fixed by turning off windows game mode.
input.log network.log performance.log runtime.log updater.log database.log
It's going to be something else on your system.
https://osu.ppy.sh/help/wiki/Performance_Troubleshooting may have some tips you can follow. Note that turning off game mode should never be a solution.
I seem to be having a similar issue, on a very periodic interval. They are defenitely noticeable during gameplay, and I always had them throughout the last few months. A video is available here. The stutters appear to be synchronous to all threads, so I suspect the issue is still GC.
network.log performance.log runtime.log updater.log database.log input.log
Does using the OpenGL renderer improve things for you?
It helps, the draw fps is much more stable, but it still happens. In this video (the gameplay itself starts at around :40 and the fps tanks because OBS, usually stays between 650 and 700) I also reduced the limiter to 4x and changed the skin to argon to eliminate possible variables. Im not discarding the fact that it may also be a problem of my pc configuration, i have a 5800X3D + 6750XT, running on:
- windows 11 version 10.0.22621 Build 22621
- Latest AMD Adrenaline drivers (AMD Windows Driver Version 31.0.23013.1023 and Driver Version 23.30.13.01-231128a-398226C-AMD-Software-Adrenalin-Edition)
- Direct3D® Driver Version 9.14.10.01526
- OpenGL® Driver Version 23.11.230906_ab0988b
Hi, I have similar problem when running on Direct3D. Generally there is a visible spike every ~2 seconds. (video) Additionally when you open the mod menu it halves the framerate when you move. The issue seem to not be that harsh on OpenGL, general performance is better and I have stable 1000fps while recording. On D3D it's around 600, 8x limiter. PC specifications should not be a problem in terms of performance because I have 7800X3D/7900XT. I made sure I have latest drivers, Windows build etc.
Logs: 1704325081.performance-draw.log 1704325081.performance-input.log 1704325081.performance-update.log 1704325081.runtime.log 1704325081.updater.log 1704325081.database.log 1704325081.input.log 1704325081.network.log 1704325081.performance.log 1704325081.performance-audio.log
Wanted to also hop in to say I have a similar issue, and it seems all 3 of us have full AMD CPU/GPU (5800x3D, 6700XT here) To add to this, running the game on Linux on the same machine completely fixes the stutters, and there are no spikes visible on the draw thread I also tried fully reinstalling Windows from scratch, and I still get the same green spikes which cause the stutter on a clean install
Can you reproduce the stutters during autoplay? Do they stop when pausing?
Yes, forgot to add that the stutters are only during gameplay/autoplay, pausing causes them to stop (even when moving mouse around and pressing keys while paused) and there are none of these stutters anywhere else in the game
Thanks, I can reproduce this (albeit less severe) and am investigating.
Can you also test with the classic skin with no modifications?
With classic skin I feel like I notice it less, but I’m not sure if that’s just because I don’t notice it with the amount of extra “fluff” the skin has
In any case, I can definitely still see green spikes on the draw thread with classic, but they seem to mostly be half or 3/4 spikes, and I usually only notice the stutter when the green spike reaches the top of the graph (if that makes any sense)
Will continue testing along with trying the other skins as well and get back with more info if I find anything else
Why are you running on OpenGL renderer? This is the least supported renderer of all, and is a likely cause. Please set your renderer to direct x. Or at very least OpenGL legacy.
OpenGL is the only one that allows true exclusive fullscreen (DirectX forces fullscreen optimisations on, so borderless, no matter what)
Either way this happens on all 3 renders, I still get the spikes no matter what renderer it is, and @AlfredTheSalmon above who was asked to try OpenGL also mentioned that they still got the stutters there
(Unrelated to the current issue but that might need rewording, I always thought that since it said “Legacy” ie old, the non-legacy version should be used instead)
For me the stutters don't happen (or are not noticable) on OpenGL (Legacy as well), only on DirectX. Framerate is basically halved compared to OpenGL. Just now I alt-tabed back to lazer (DirectX) to see it's 50-80fps in menu, and 200-300 in gameplay. Here are all the logs.
I played all the time on DirectX, just switched to OpenGL for testing and it performs way better, I as well thought Legacy = outdated/don't use by the way.