Changes
- Faster races on Android (#90): on phones with one core faster than the rest, the render thread used to take that core while it mostly waited for draws, leaving the game's main thread, which sets the frame rate, on slower cores. The render thread now keeps off the fastest core, so the main thread gets it. Phones whose other cores are all little cores keep the system's placement.
SFR_CORE_PLAN=0turns this off. - Less overhead in the main thread on Android (#90): guest code no longer looks up each thread's state through the slow thread-local storage of a library loaded after start, and the vertex cache and hook checks answer repeated lookups from small tables.
Validation
- AYN Thor (Snapdragon 8 Gen 2), Dolphin Resort, the same APK with the change on and off: at the start line 59.9, 59.8 and 59.9 fps (the 60 fps cap) against 52.1, 52.4 and 51.6. While racing, 55.6 to 56.4 fps against 45.2, without frame metrics.
- This release's Android 10+ APK on the Thor: 56.5 and 56.5 fps while racing.
- Unit tests: CTest passed on Windows (144) and Linux (136). The diagnostic generator's tests passed (105). GitHub Actions builds passed.
- Windows package: completed race checks on D3D12 and Vulkan, every pipeline prepared and the save left unchanged.
- Linux package: passed a Vulkan startup smoke test in WSL (all 455 pipelines prepared).
- Android: the APKs keep the existing signing certificate.
Downloads
- Windows x64: download and extract the Windows ZIP; run
FreeRidersRecompiled.exe. - Linux x64: download and extract the Linux archive; run
FreeRidersRecompiled. - Android 10 or later: prefer
android10-arm64.apk. - Android 9: use
android-arm64.apk. - Android version code: 34. The companion licence archive applies to both APKs.
- Checksums:
SHA256SUMS.txt.
Use your own game disc image. No game data, private saves or test overrides are included.
Known limitations
- Heaviest stretches of a race on a Thor: with more than a thousand draws a frame, the GPU takes 16 to 19.5 ms a frame there, so those stretches run at 48 to 52 fps. This is being worked on.
- Placement measured on one phone: the new placement has been measured only on an AYN Thor. If a race is slower than in v0.6.8 on your phone, set
SFR_CORE_PLAN=0and tell us. - Being investigated: the start-up crash on Vulkan 1.1 phones (Issue #88; v0.6.8 has the second fix, waiting for a report); a crash at start on a Galaxy Tab A9 (Mali-G57, Issue #1); a crash in a race on a 4-core PC (Issue #64); a character occasionally saying a winning line after losing (Issue #47).
- Relay Race: 2P vs 2P is not supported yet.
- From v0.5.0: lighting has not been compared with the Xbox 360; no camera motion inference on Linux or Android; performance varies by device.