ARM64 Android tester v11 adds Use performance CPU cores, an independent core-placement experiment. The S24 Ultra tester reports no measurable effect from ADPF hints or performance headroom on/off combinations. This build tests where frame production runs, rather than another ADPF deadline change. No FPS improvement or root cause is confirmed.
ARMSX2's 2.6.7 release notes document performance-core group affinity as its default; its 2.6.5 notes introduced ADPF off by default. Source inspection confirms the group-affinity mechanism. Our implementation independently discovers a group of faster CPUs within each participating thread's existing allowed mask.
Device comparison:
- Confirm the footer says
0.1.57-android-preview.11(Android version code 15711). - Set 60 FPS / resolution 1; turn Android performance hints, Request performance headroom, and Match display refresh to game FPS off.
- Compare Use performance CPU cores off then on, with a new Play session after each change, in the same stationary stage view. Keep recording off and avoid screenshots during the measurement. Charge/cool the phone and disable Battery Saver for a consistent comparison.
- Export the game log before another Play overwrites it. Look for
performance coresand the requested/effective CPU masks, or the fallback reason. Optional timing logging can measure game/shown FPS without drawing the overlay.
The new switch defaults off. It ranks permitted CPUs using complete scheduler-capacity metadata, then complete maximum-frequency metadata as a fallback. It keeps a distinct big/prime group with at least two CPUs; it never guesses from CPU numbering, restricts to a lone prime, mixes ranking scales, or requests CPUs outside the current allowed mask. Missing/unclear topology or rejected affinity leaves placement unchanged. Participating frame/render threads each configure once per game process. Later child threads inherit Linux affinity normally. Android still controls actual clock frequencies and thermal policy. Core placement works when ADPF is disabled.
Includes v10's persistent version/source footer and clearer scrolling cards. Install over v10 with the same development signing key to retain imported disc/save data. Uninstalling removes both; export a save before uninstalling. Android 10+, ARM64, GLES 3.1+, controller; no ROM/save bundled.
Validation: Android debug and optimized release builds passed; launcher host tests 228/228; host hint-controller and core-selection tests passed. Core tests cover multi-tier topology, sparse/permuted IDs, missing metadata, homogeneous/narrow masks, lone-prime avoidance, threshold boundary and integer overflow. APK preview/source strings and new UI/native feature verified, plus signature, ARM64-only packaging, 16 KiB ELF/APK alignment and no ROM/save/self-test payload.
No Android runtime/container/emulator test or benchmark was run, as requested. Native API acceptance on the S24 Ultra, actual affinity masks, thermals and FPS response require the tester's device. Earlier graphics/gameplay/save/movie checks apply to earlier revisions, not new v11 runtime results.
SHA256: ae04681e71ce7cba357c9bd840da67d074370d74c8b3a87351dee7db479c622f
Sources: launcher 51c0a9f8b4ceef83c8d5116a3d07bc1263193119, game 601eea765f8743eeedcdf80962d73cd75a398dac. Both Android branches pushed; companion PRs #107 and chasem-dev/sms-pc-port#98. Separate prerelease; no merge or desktop Stable/Beta changes.