File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2231,22 +2231,12 @@ private void applyAndroidFrameSyncMigrationOnce(FrameworkConfigManager framework
22312231 LocalConfig . SetValue ( OsuSetting . AndroidStartupFrameSyncV2MigrationApplied , true ) ;
22322232 }
22332233
2234- // v3 migration: restore users who were incorrectly moved to Limit1x (FIFO) by a
2235- // previous build back to ActualUnlimited (IMMEDIATE present mode). Limit1x
2236- // amplifies vkQueuePresentKHR stalls during texture-upload storms (100-300 items
2237- // queued during song-select), producing the 27fps-at-9ms-frame-time pattern
2238- // observed in field logs. We only apply if the user is currently on Limit1x
2239- // (if they manually changed to any other mode, leave them alone).
2234+ // v3 migration: FrameSync.Limit1x was removed from the framework enum in
2235+ // osu-framework 2026.504.3 — any stored Limit1x config value is now treated
2236+ // as unknown and will fall back to the framework default on next load.
2237+ // Nothing to do here; just stamp the flag so the guard is not re-evaluated.
22402238 if ( ! LocalConfig . Get < bool > ( OsuSetting . AndroidStartupFrameSyncV3MigrationApplied ) )
2241- {
2242- var frameSync = frameworkConfig . GetBindable < FrameSync > ( FrameworkSetting . FrameSync ) ;
2243- if ( frameSync . Value == FrameSync . Limit1x )
2244- {
2245- frameSync . Value = FrameSync . ActualUnlimited ;
2246- Logger . Log ( "[osu!] Android FrameSync v3 migration: Limit1x → ActualUnlimited (IMMEDIATE present, fixes vkQueuePresentKHR stall during texture-upload storms)" , LoggingTarget . Performance ) ;
2247- }
22482239 LocalConfig . SetValue ( OsuSetting . AndroidStartupFrameSyncV3MigrationApplied , true ) ;
2249- }
22502240
22512241 return ;
22522242 }
You can’t perform that action at this time.
0 commit comments