Skip to content
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

Add HighPerformanceSession and use LowLatency GC in gameplay #13525

Merged
merged 1 commit into from
Jun 16, 2021

Conversation

smoogipoo
Copy link
Contributor

@smoogipoo smoogipoo commented Jun 16, 2021

Slightly adapted from #11996. Exposes virtual methods for the PR to eventually override, and to potentially support different "high performance" profiles on mobile devices.

In debugging GC stutters, I noticed that using LowLatency GC mode yields better frame consistency in cases where we're not allocating very much (i.e. basically only in gameplay). This is also what osu!stable does, however it also allocates 10x less than we currently are - a good goal to aim for in any case.
Here's some graphs to look at: https://docs.google.com/spreadsheets/d/1ZJLe61ay_O1JT1EbpphQcGpKdaoYro2jR_WOkecfyB8/edit#gid=0

I'm still following up with the .NET team in dotnet/runtime#48937, but this should serve as a good test for the time being.

Only has an effect if the local user is playing. Has no effect in replays.

@peppy
Copy link
Sponsor Member

peppy commented Jun 16, 2021

Guessing if this sticks we may want to enable for replays / spectator as well. Although that's less of a fine-cut decision as the local user may be interacting with overlays, which could end up degrading performance?

@smoogipoo
Copy link
Contributor Author

If overlays allocate a lot yeah, but I don't disagree in principle. I hope that this is a temporary thing.

Copy link
Collaborator

@bdach bdach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Curious what the general response to this will be. Hopefully positive.

👍

@ProfessionalMD5

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants