Skip to content

Initial perf improvement dump#112

Open
Umbranoxio wants to merge 85 commits into
AllPoland:devfrom
ScoreSaber:scoresaber/perf-opts
Open

Initial perf improvement dump#112
Umbranoxio wants to merge 85 commits into
AllPoland:devfrom
ScoreSaber:scoresaber/perf-opts

Conversation

@Umbranoxio

@Umbranoxio Umbranoxio commented Jul 9, 2026

Copy link
Copy Markdown

Requires #111 -- the diff will look larger than it is until it's merged. This branch is stacked on that work so I'll make sure to rebase it once it(if) gets merged to make everyones life easier, just give me a buzz.

Anywho, probably missing a bunch but here's most of the changes I remember:

  • "TTFF" (time to first frame)

    • overlap downloads and song decode
      • At some point I'll look into chunking the diff load when the inspiration strikes as hilariously this is now the longest step before getting into a replay esp when you have fast internet and sticks out like a sore thumb (seriously load this and take a look)
    • lazyload a lot of stuff instead of them being "blocking" (environments, map cover images.. a bunch more but you get the idea)
    • reduce replay decode / alloc overhead
    • webgl "boot prefetching" and generally just less unnecessary preload work
  • runtime

    • shared object materials, pool lookup improvements and fewer playback allocs
    • cache settings, audio and UI stuff instead of repeatedly reading / rebuilding them
    • reduce replay matching scans and reuse arc / trail buffers
    • gate redundant light, HUD and material prop updates
  • rendering / WebGL

    • reuse saber trail mesh buffers and only rebuild trail topology when the segment setting changes
    • Bloomfog blur and render pass cleanup
    • basic shader / material warmup
    • smaller WebGL template assets and some renderer / runtime config cleanup
    • remove a couple of unused packages

Should be mostly safe to merge once the other stuff is merged in as it was tested in prod a bunch, but obviously feel free to cherry pick in all the big safe easy wins at your own leisure.

AllPoland and others added 30 commits August 28, 2023 17:12
@Umbranoxio
Umbranoxio changed the base branch from main to dev July 9, 2026 19:41
@Umbranoxio
Umbranoxio marked this pull request as ready for review July 9, 2026 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants