Skip to content

Android Performance settings: trim crash-related toggles, expand Oboe hint - #263

Merged
winnerspiros merged 5 commits into
masterfrom
copilot/fix-vulkan-related-issues
Apr 23, 2026
Merged

Android Performance settings: trim crash-related toggles, expand Oboe hint#263
winnerspiros merged 5 commits into
masterfrom
copilot/fix-vulkan-related-issues

Conversation

Copilot AI commented Apr 23, 2026

Copy link
Copy Markdown

The Android Performance settings page exposed four toggles that gate startup safety nets or cosmetic native probes — disabling any of them only re-introduces previously-fixed crashes, so they shouldn't be user-facing. Separately, the "Low-latency audio (Oboe)" hint didn't explain what the toggle actually does on hover.

Settings cleanup (osu.Game/Overlays/Settings/Sections/Graphics/AndroidPerformanceSettings.cs)

Removed four FormCheckBox items from the UI:

  • GPU detection (Vulkan) (OsuSetting.AndroidVulkanProbe) — cosmetic; only queries Vulkan capability info via the native bridge, never switches the renderer.
  • Clean up stale Realm fifos at startup (OsuSetting.AndroidCleanupStaleRealmFifos) — safety net for the previously-fixed Realm-fifo crash.
  • Defer audio/Vulkan native init at startup (OsuSetting.AndroidDeferStartupNativeInit) — cold-start safety net.
  • Auto-migrate FrameSync to VSync on first launch (OsuSetting.AndroidStartupFrameSyncMigrationEnabled) — silently mutated framework defaults; the original bug it worked around is fixed elsewhere.

The underlying OsuSetting entries are intentionally retained with their existing defaults (probe OFF, fifo cleanup ON, defer-init ON, FrameSync migration OFF) so OsuGameAndroid's BindWith and mirrorStartupFlag wiring continues to resolve without conditional registration. An inline comment documents the removal rationale.

Oboe hint expansion

Replaced the one-liner on the remaining "Low-latency audio (Oboe)" toggle with a description that covers the AAudio + MMAP fast path, the expected ~80–150ms → ~20–40ms latency drop on supported hardware, the audio-offset auto-suggestion driven by reported hardware latency, the graceful fallback to the default mixer with an entry written to runtime.log on failure, and when a user might want to disable it (crackles / drop-outs / wrong-pitch on a specific device).

No behaviour changes outside the settings UI.


Summary by Gitar

  • Stability and error handling:
    • Added PlatformNotSupportedException handling for GCSettings.LatencyMode to prevent crashes on unsupported Android runtimes.
    • Stopped auto-disabling Oboe on initialization failure to avoid persistent configuration changes.
  • Logging and diagnostics:
    • Added a Verbose logging toggle to control LogLevel and reduce disk I/O.
    • Migrated various Debug.WriteLine calls in Android native bridges to Logger.Log for persistent reporting.
  • UI improvements:
    • Removed legacy FPS counter labels and added a technical warning to RendererSettings regarding Vulkan on Adreno hardware.

This will update automatically on new commits.

Copilot AI and others added 5 commits April 23, 2026 19:18
Agent-Logs-Url: https://github.com/winnerspiros/osu/sessions/038b173b-d81a-412c-8c3e-3471eb8bab2e

Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com>
…restore Vulkan in dropdown

Agent-Logs-Url: https://github.com/winnerspiros/osu/sessions/038b173b-d81a-412c-8c3e-3471eb8bab2e

Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com>
…cation, verbose-logging toggle, settings cleanup

Agent-Logs-Url: https://github.com/winnerspiros/osu/sessions/1ba21ebe-2c45-4249-b1c7-a8751be54098

Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com>
…d explanation

Agent-Logs-Url: https://github.com/winnerspiros/osu/sessions/9257036d-08c5-4407-a482-43662460410f

Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com>
@winnerspiros
winnerspiros marked this pull request as ready for review April 23, 2026 19:44
@winnerspiros
winnerspiros merged commit 51bb980 into master Apr 23, 2026
13 of 15 checks passed
@gitar-bot

gitar-bot Bot commented Apr 23, 2026

Copy link
Copy Markdown

Important

You are using the Gitar free plan. Upgrade to unlock code review, CI analysis, auto-apply, custom automations, and more.

Gitar

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.

2 participants