-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Game unpredictably hangs (macrostutters) on complex maps #13969
Comments
Duplicate of #11800. |
I read the issue, and doesn't seem to be a duplicate, as the behavior I get is different. I don't get these at regular intervals, and I don't experience it at all in the main menu. And I only experience macrostutters, not microstutters (except when selecting a different song in the song browser, but that's sort of obvious, having to load from disk and having to calculate difficulty). I only experience these during play, and even then it's extremely unpredictable besides for a few really intensive maps, where a stutter can be usually predicted within a few (~7-12) seconds. However using the same hardware still, I was able to reproduce #11800 on macOS 10.13, and it's pretty regular. It even has the weird Gen0 behavior, which I don't experience at all on Windows, as it barely reaches 50k, and most often stays rock-solid at 24. On Linux this issue doesn't happen at all, and I can't reproduce either this, or #11800. I rarely get sound crackles, but that's down to the low-latency Pulseaudio config. Linux behaves pretty much the same as Windows, except Gen2 stays 4x-8x as big on average compared to Windows, but Gen0 still stays rock-solid at 24. |
The other issue is also generally only during gameplay. Trust me, it's the same thing. You can see the GC markers on your frame graph. |
I just noticed that the small green dot (it's quite invisible). This sparked some memory in my head. While server GC doesn't solve the underlying problem, it should slightly better the user experience until the underlying problem is figured out. I did some tests, and it is indeed undoubtedly the GC. Just enabling server GC alone has decreased the macrostutters to microstuttes with length less than 200ms (kind of hard to measure). You can test these GC settings on the "retail" version just by setting some environment variables prior launching osu!.exe:
|
Please read through the linked issue, and especially the one over at the I understand you're trying to be helpful, but please read every post in both threads before providing further suggestions/commentary. |
Please follow #11800 for any updates instead. I'm very interested in you testing with Using server GC is only delegating the problem. |
I am following #11800, because I would also root for this issue being figured out and solved. I did try with that setting, and sadly it had a negative effect. I'm still getting ~400-600ms macrostutters (slightly less than the ~700ms average), but now its frequency has significantly increased during gameplay (on some maps I'm getting it almost every ~7s!). I did not test that setting on macOS or Linux, unless you want me to test it. And yeah, I know that server GC is not a solution, but a temporary workaround, and I did word my reply that way for that reason. |
I'm going to tentatively reopen this one, because the issue sounds much more severe and different than #11800 in that case. Can you clarify - are you running this on a Mac machine, running Windows 10 via bootcamp? Or is it the other way around - a PC running a hackintosh (when you tested the macOS scenario)? |
I'm running a Hackintosh because my MacBook Pros are really old (2010 - 2011) and too expensive to service. I've always had issues on macOS with the proprietary client as well (both Hackintosh and on real MacBook Pro), so I assume that it's an issue with some macOS implementation, and not a hardware issue. Although I haven't tested Lazer yet on a real MacBook Pro though, because I'm using their RAM sticks and storage in a different non-Apple machine, and switching them out takes some time. But if it's requested, I can switch back the components and test Lazer on it, just to rule out any Hackintosh weirdness. Although on macOS my problems more closely resemble #11800 than this one. I can only reproduce this issue on Windows. Edit: I sadly can't test Windows 7 in Bootcamp anymore, because of hardware fault, but I can test on Windows 10 Bootcamp on weeksdays. |
Tested on the 2010 13" MacBook Pro (Core 2 Duo, Nvidia GeForce 320M, 8Gigs of RAM) with the latest build (2021.1108.0-lazer), and the results are extremely surprising. On macOS 10.13, the graphics are very garbled up, but the graphical distortion and mouse acceleration issues aside, the game is perfectly playable. For a Core 2 Duo, the game is extremely snappy, and navigating the song select is basically lagless - even faster than on my laptop where this issue happens, even with the gcServer hack, the MacBook Pro wins -. and I had zero macrostutters. During my testing, I only had a single microstutter, and that's it. On Windows 20H2 (BIOS mode, 64bit), instead of overwriting the VRAM once it's full, the text and icons don't get garbled up, but instead the VRAM allocation cycles each frame, creating a constant "your computer is being hacked" effect (used in movies) of flickering. The issue still happens on my main laptop though (only tested on Windows this time), and it's definitely the GC. I did notice different GC behavior across all three tests, and I have no explaination as for why GC behavior is so inconsistent across software and hardware. This seems to be the territory belonging to #11800 requiring more research. tl;dr: on the real MacBook Pro, there are absolutely no issues, but it still happens on my laptop, even with the latest build (2021.1108.0-lazer) |
#11800 is not related to windows and has no effect on any windows system |
let's close this issue for now, anyway. it seems out of scope |
Describe the bug:
A macrostutter is like a microstutter, except the time range can range from around 100ms up to even two seconds, with the average stutter length being around 500-800ms.
Only when playing, the more hit objects come per second, the more likely it is for the game to macrostutter.
For simple maps with barely a few hit objects per second, this issue still happens, but very difficult to reproduce. On some maps it's impossible to play without at least 3 macrostutters during the entire map, sometimes predictably down to a few seconds.
There are three types of this macrostutter I observed:
This seems to be medium-strongly related to how many hit objects the map spawns on average each second.
On simple maps, or on maps with no streams and spam sliders (small sliders repeating very fast at a high frequency), it's almost impossible to reproduce this issue, and usually happens every 10-20mins when replaying the same map over and over again.
On complex maps however, and/or if a lot of hit objects start coming (circle streams, especially with sliders between), it's impossible to play the given maps without at least one or two macrostutters. 100% of the time I get a macrostutter, no matter how hard I try opening/closing programs, changing settings, or playing different maps with similar hit object spawning characteristics.
I also tried reproducing this issue on few versions of the proprietary client, and besides the usual microstutters which rarely causes me to choke, there were zero macrostutters reproducible during weeks of testing on many different maps.
There is however one thing I noticed: I get slightly less macrostutters on dGPU, but I still get some. On iGPU it's unbearable.
I also managed to make a possible correlation with the log while testing on the dGPU, and that's this line:
While I'm not sure if there are other causes for macrostutters (considering the different types of results I get), but this seems to be one of the causes at least.
I tried different Windows 10 versions, and all of them have this issue. I also tried different driver versions for both the iGPU and dGPU, and same results.
I didn't try Lazer on Windows 8.0 with the dGPU, because it feels like this is an issue in Lazer itself, or some software clashing.
Don't know how this affects Lazer's timers, but my laptop has bugged HPET which I can't disable. Just in case if timers going backwards could mess with Lazer's coding.
Screenshots or videos showing encountered issue:
iGPU
dGPU
osu!lazer version:
2021.720.0-lazer
System specs:
Logs:
iGPU: logs.zip
dGPU: logs_d.zip
The text was updated successfully, but these errors were encountered: