Thanks for following along! This is a tagged release (2022.607.0).
Breaking Changes
"Unlimited" frame limiter is no longer completely unlimited #5235
Games using osu!framework can generally run at very high frame rates when not much is going on.
This can be counter-productive due to the induced allocation and GPU overhead.
- Allocation overhead can lead to excess garbage collection
- GPU overhead can lead to unexpected pipeline blocking (and stutters as a result).
Also, in general graphics card manufacturers do not test their hardware at insane frame rates and therefore drivers are not optimised to handle this kind of throughput. - We only harvest input at 1000hz, so running any higher has zero benefits.
If you think you know better for your specific application (or more correctly need to remove the limit for benchmarking), set GameHost.AllowBenchmarkUnlimitedFrames
to true
.
We limit things to the same rate we poll input at, to keep both gamers and their systems happy and (more) stutter-free.
What's Changed
- Reset shader stack every frame to silence assertion by @smoogipoo in #5230
- Fix and cleanup android touch handling by @Susko3 in #5229
- Switch
SampleStore
ConcurrentDictionary
usage to be a normalDictionary
by @peppy in #5233 - Implicitly confine the cursor when it can't leave to another display by @Susko3 in #5210
- Use precise delta values for SDL scroll events by @frenzibyte in #5186
- Attempt to fix
TestSceneVideo
incorrectly failing due to intermittent state changes by @peppy in #5234 - Rename "unlimited" to "basically unlimited" and add sane frame limiter by @peppy in #5235
Full Changelog: 2022.605.0...2022.607.0