ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.32k stars 2.28k forks source link

Depth mod issues #26299

Closed SaphyreLemon closed 5 months ago

SaphyreLemon commented 10 months ago

Type

Performance

Bug description

When using the depth mod on some beatmaps, it tends to lag and stutter. I know it isn't my PC because it can play the same beatmaps without the mod and this issue doesn't happen.

It mainly happens on faster map or maps with lots of sliders from what I've seen. And it tends to give an error either after completing the beatmap or even just exiting out of it.

It's been going on since the mod came out so maybe it's just because it's new but I don't know.

Screenshots or videos

osu_2023-12-31_17-11-56

Version

2023.1229.0

Logs

compressed-logs.zip

bdach commented 10 months ago

partial duplicate of https://github.com/ppy/osu/issues/26195

peppy commented 10 months ago

Sounds like slider framebuffers getting redrawn due to scale.

Bryceed commented 9 months ago

The lag starts to appear after a few plays. The same map (especially on the sliders) runs smoothly if it's during the first few games (~10 minutes), but sliders tends to be unplayable, requiring us to reopen the game to be able to recover the original framerate.

1st play 8th play
Print (gameplay) image image
Print (FPS) image image
Video https://github.com/ppy/osu/assets/42657376/a8080c11-9496-4164-b51a-76cbb5ce441d https://github.com/ppy/osu/assets/42657376/2337adc3-e57a-4f74-832b-2c753db0b054

Apparently, there is some cache that worsens performance, which starts to impact even in moments when there are short sliders.

*This issue affects the framerate of any map (clearly visible in slider parts), just using the same for FPS comparison.

peppy commented 9 months ago

@Bryceed to confirm, you're saying that things get worse the more times you retry a beatmap with this mod applied?

After you get things into a bad state, can you capture a video with ctrl+f2 and ctrl+f3 views visible? please scroll through the available information so we can view it.

Bryceed commented 9 months ago

@Bryceed to confirm, you're saying that things get worse the more times you retry a beatmap with this mod applied?

Sorry, I edited the comment in this middle time to say about it. This issue not affets the framerate of the game in general, but any map keeps the lag (clearly visible in slider parts), just used the same for FPS comparison.

P.S.: I've closed the game, so I forced to play 2B map (Mayday) and double time to "cache" it quickly in order to reply here.

https://github.com/ppy/osu/assets/42657376/43aa84b8-ee24-421e-930c-a3e3c0ee9b45

Watching in 60 FPS and without the Approach Different mod isn't visible the lag, but FPS counter registered the average of 50 FPS in a setup that normally gets 200+ FPS easily (as evidenced in video from the previous comment).

It seems the maps aren't having it's storyboard textures deleted from the memory even when the gameplay is completely finished, so Mayday sprites in F3 panel appears repeated.

Idk if it is the cause of the issue, since "Club Can't Handle Me" and others maps don't have storyboard (and I remember to play this mod with video/storyboard off with same issue), but... that's a point to consider.

Bryceed commented 9 months ago

Log files: compressed-logs.zip

peppy commented 9 months ago

Nothing looks too odd, so not sure.

Bryceed commented 9 months ago

I've tested to confirm, using the clean cache option in settings, and definitely this isn't the cause

SB off + cache SB off + clean cache 1st play + SB off
image image image
~45fps ~48fps ~220fps
peppy commented 9 months ago

I still feel like I'm missing something in your messages. Please answer these questions very simply.

Please also test using classic skin to see if anything changes.

Bryceed commented 9 months ago

Alright.


Turning off the mod and returning later don't reset the lag, just closing and reopening the game.

Bryceed commented 9 months ago

I tested it with other skins, including the classic one, but there was no difference.

peppy commented 9 months ago

@EVAST9919 maybe you'd be interested in looking into this. I can't see anything obvious but you'll likely be able to figure something out... if you can repro.

EVAST9919 commented 9 months ago

Can't reproduce either: I've ran multiple maps with the mod for like 40 mins and fps is still the same.. @Bryceed can you check if Grow/Deflate mods have the same issue? They have sliders changing size too so worth a try.

Bryceed commented 9 months ago

I did the test, but isn't affected by image

@EVAST9919 ~Keeping the tests, I realized that what seems to affect performance over time is the combo of Depth + Approach Different. AD is my "base kit" to play lazer on monitors with high framerate \~feels sooo smooth\~, so I didn't notice that (since it's a specific combination that causes this issue - or, at least, the cause to start it).~ (update.: I tested it more calmly (I was in the middle of working hours), and I realized that even without activating +AD at any time during the game session, the problem occurs in the same way, so disregard the comment above.)

Description Print FPS Counter
Deflate after few games image image
I tried Depth and I notice the framerate keeps stable
1st retry with AD applied image image

*We know that 2B maps can have framedrops on parts that contains excessives sliders, but 35fps in a part that doesn't contain so many sliders and with this hardware setup, it's definitely an unusual problem. Even with Depth and DT, it doesn't happen.

compressed-logs.zip

Bryceed commented 9 months ago

I retested without activating +AD, as I had suspected, but since deactivating it in the middle of the session doesn't improve the +DP lag, playing only with +AD doesn't cause the FPS drop problem, just as playing an entire session without activating +AD and still having the same problem, rules out the hypothesis that it's caused by the +AD combo. The problem really was with the Depth mod.

1st play 3th play
image image
image image

It's quite confusing to find another way to be able to replicate this issue, since it only happens playing Depth mode and @EVAST9919 couldn't reproduce the same scenario that I'm having.

If someone need a real-time test, I'm on Discord (Bryceed) and I can open a broadcast to play and do the necessary tests to help, because I don't know what else to do to help find the problem.

Bryceed commented 9 months ago

Trying to test others settings, I managed to solve the problem by changing the renderer from "Automatic (Direct3D 11)" to "OpenGL". image

Jatoxo commented 5 months ago

I might have some more info on this. With the Depth mod on Direct3D 11 (Experimental) there seems to be a memory leak while playing beatmaps. Small stutters happen while the game uses more and more RAM until it crashes. Quitting and loading another beatmap, with or without the mod does not free the memory. It also happens on the classic skin. I also do not get an error after quitting out of the map.

60 second time window, playing a beatmap: image

Testing the grow mod, it is also affected.

There also seems to be some random-ness to it? Maybe the first time I play the map, it tends to not eat any memory, but then the second or third time, it does. Couldn't find a pattern there so just speculation.

This does not happen on regular Direct3D 11, just on Experimental. Attempting to test on Vulkan (Experimental), the screen glitches with tearing like artifacts while freezing after ~20 seconds of playing with the Depth mod. Audio indicates that the game is still responsive and navigatable.

smoogipoo commented 5 months ago

Does this happen on the OpenGL or Direct3D11 (non experimental) renderers?

smoogipoo commented 5 months ago

@Jatoxo Are you using an integrated GPU by chance? I believe this is https://github.com/ppy/veldrid/issues/53 which will be fixed in the next release via https://github.com/ppy/veldrid/pull/54.

Though I'm seeing VRAM usage increase specifically, iGPU would likely place this in shared (system) memory instead which is why I'm asking.

Jatoxo commented 5 months ago

Does this happen on the OpenGL or Direct3D11 (non experimental) renderers?

It doesn't happen on the normal Direct3D11 renderer, neither on OpenGL

Though I'm seeing VRAM usage increase specifically, iGPU would likely place this in shared (system) memory instead which is why I'm asking.

That must be it, it's not an iGPU but I didn't even notice that before the system memory starts increasing it fills up the VRAM, only falling over to system memory once it's completely used up

EVAST9919 commented 5 months ago

That must be it, it's not an iGPU but I didn't even notice that before the system memory starts increasing it fills up the VRAM, only falling over to system memory once it's completely used up

Related https://github.com/ppy/osu/issues/23258#issuecomment-1560462009

smoogipoo commented 5 months ago

Will likely be fixed in the next release by https://github.com/ppy/veldrid/pull/54

mempler commented 5 months ago

The memory leak issue has not been resolved; it still happens to me on the latest release. (2024.521.2) image

But the performance has gotten a lot better.

smoogipoo commented 5 months ago

The next next release... >_>

mempler commented 5 months ago

Whoops, I thought this was already the next release (21. May 2024) which was released today since last week was different patch (2024.412.1)

My bad

smoogipoo commented 5 months ago

I meant that the change didn't end up making it in this release, unexpectedly, due to an error on my part.