From fad0842071dce3bdfee6c12321e1eb9f37a59309 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 3 May 2026 17:18:43 +0000 Subject: [PATCH 1/2] fix: use LargeTextureStore in DrawableStoryboard to eliminate atlas overflow stalls Agent-Logs-Url: https://github.com/winnerspiros/osu/sessions/cb1742a5-5c06-4dba-983f-8df10ba7c05a Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com> --- osu.Game/Storyboards/Drawables/DrawableStoryboard.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs index df08c7af0fcf..3fc83ffaf479 100644 --- a/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs +++ b/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs @@ -85,10 +85,17 @@ private void load(IGameplayClock? clock, CancellationToken? cancellationToken, G if (clock != null) Clock = clock; + // Storyboard assets are per-beatmap images (backgrounds, sprites, animations) that are + // typically large (e.g. 1920×1080, 2732×1572) and are loaded once per play session. + // Using a regular atlased TextureStore causes a storm of atlas overflow events during + // beatmap load (one new 2048×2048 GPU texture + vkQueueSubmit per overflow, 8+ times in + // ~5 seconds), each stalling the render thread and dropping FPS. + // LargeTextureStore skips atlasing entirely so every storyboard asset gets its own GPU + // texture with no atlas packing, eliminating all overflow stalls on Android Vulkan. dependencies.CacheAs(typeof(TextureStore), - new TextureStore(host.Renderer, host.CreateTextureLoaderStore( + new LargeTextureStore(host.Renderer, host.CreateTextureLoaderStore( CreateResourceLookupStore() - ), false, scaleAdjust: 1)); + ))); foreach (var layer in Storyboard.Layers) { From 2943a3602c33440df428e31862b7959eaa6b39e4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 3 May 2026 17:40:37 +0000 Subject: [PATCH 2/2] chore: bump ppy.osu.Framework to 2026.503.7 Agent-Logs-Url: https://github.com/winnerspiros/osu/sessions/c07cb0c5-07ba-4616-aac1-b57867c55166 Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com> --- osu.Android.props | 2 +- osu.Game/osu.Game.csproj | 4 ++-- osu.iOS.props | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/osu.Android.props b/osu.Android.props index ef2fb9093237..27e22e90f148 100644 --- a/osu.Android.props +++ b/osu.Android.props @@ -99,7 +99,7 @@ - +