1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-22 23:40:45 +08:00
Files
osu-lazer/osu.Game/Tests/Beatmaps
T
Nathan Corbett b0047e4570 Use variable-length strains to fix chunking-related issues (#33351)
- Closes https://github.com/ppy/osu/issues/25254

Solves chunking-related issues by starting a new chunk for every object,
and allowing chunks to be different lengths. This is retrofitted to
existing calculations, and doesn't have other ramifications in the way
something like tr3s's continuous strains do.

The effect of this can be seen in the video below. In live pp, the map
would lose sr when increasing the rate at certain points, but in the
video, the sr rises consistently as expected.


https://github.com/user-attachments/assets/2d58946a-9e0c-4f6b-912a-71dfe75c0f8a

A multiplier has been added inside `DifficultyValue()` to account for SR
being slightly lower from more granular summation.

When testing this rework in PerformanceCalculatorGUI, I recommend using
[this
fork](https://github.com/Finadoggie/osu-tools/tree/variable-length-strains).
I can't guarantee that the visuals it shows are correct, but they are
definitely more correct than not.

Edit: Use [this
fork](https://github.com/Finadoggie/osu-tools/tree/unsynced-variable-length-strains)
for testing now. Old one is now for testing
SynchronizedVariableLengthStrainSkill

---------

Co-authored-by: tsunyoku <tsunyoku@gmail.com>
Co-authored-by: StanR <8269193+stanriders@users.noreply.github.com>
b0047e4570 · 2026-03-27 20:08:20 +00:00
History
..
2026-03-07 02:30:50 +09:00