ARM64 Android tester v12 replaces an avoidable extra refresh wait with a short cooperative background-work handoff. The v11 all-options-off device log showed roughly 11–13 ms average work but frequent 33–35 ms frames and background yields. CPU samples reached 3.15 GHz; higher clocks alone do not explain all drops. Faster-core placement and hints/headroom had not helped in the tester's comparisons.
An already-due frame used to wait for another retrace to let loading run. It now gives lower-priority SDK work a turn, returning when workers block/exit or at a scheduling checkpoint after a 1 ms budget. This preserves loader progress after movies. Uninterrupted native work can exceed that budget. Normal frame targets and priorities are unchanged. No new toggle; this fix is always active on Android.
Device comparison:
- Confirm
0.1.57-android-preview.12/ version code 15712 in the launcher footer. - Set 60 FPS, resolution 1; keep Android performance hints, Request performance headroom, Match display refresh to game FPS, and Use performance CPU cores OFF. Enable Log performance timings; the overlay can remain off.
- Skip movies for steady gameplay testing. Use the same stationary plaza view, without recording, screenshots, touches or notifications during the sample. Check loading from title/save selection still completes.
- Return with Back and export the log before another Play overwrites it. SDK pacing now includes
background avg/maxwall time. Compare game/shown FPS and frame work against the previous build.
Validation: Android debug and optimized release builds passed; launcher host tests 228/228; 32/64-bit frame-rate checks passed. Host tests execute the actual Android-configured scheduler and frame-wait code without ROM, GPU or VI timer, covering progress, early return, deadline checkpoints, urgent work, IRQ state/guards and worker exit. The old full-retrace path stalls in that same regression fixture. APK preview/source strings, signature, ARM64-only packaging, 16 KiB ELF/APK alignment and absence of ROM/save/self-test payload verified.
No Android runtime/container/emulator test or benchmark was run, as requested. Physical-device loading and FPS improvement still need confirmation; no measured performance gain is claimed.
Install over v11 with the same development signing key to retain disc/save data. Uninstalling removes both; export saves first. Android 10+, ARM64, GLES 3.1+, controller; no game data bundled. Separate prerelease; no merge or desktop Stable/Beta changes.
Sources: launcher ebfae76a07bc460361c0f9bdd7a5537085b5d77c, game 33edfa6346a697761b49b7a000f8571072073f14. Both Android branches pushed; companion PRs #107 and chasem-dev/sms-pc-port#98.
SHA256: 6ad651f51d92c1e9e49e712f58ab0c4d39294e28e21734551e3c18c106469d03