Repository navigation
v0.10.31 — Sound on hot phones
Changes
- Sound on hot phones (#176). When a phone got hot and slowed its cores down, the sound crackled late in long races, and it could feel like slow motion, though the race itself kept real time.
- Cause: the game's own sound thread fell behind on the slowed cores, so its mixer handed out silent frames. The output never ran dry.
- Fix: on Android the game's sound threads now get the same priority as other audio apps, so they keep up when the cores slow down.
- In testing: on an AYN Thor with the game's threads squeezed onto one little core, silent frames fell from about 280 to about 50–150 per 10 seconds, with no effect on race speed.
- Switch: Test options › Processor › Sound threads first (on by default) turns it off.
- For testing:
game.lognow counts silent audio frames, late audio callbacks and the output queue, to tell crackle causes apart.
Everything else is the same as v0.10.30.
Validation
- AYN Thor, this release's APK:
- Dolphin Resort at full speed (0.999, 60 fps).
- Helpers held to a little core with sound on: race 0.986, sound threads raised (no error), silent frames 60–148 per 10 s.
- Tilt to kick on: full speed.
- Windows x64 package, Vulkan, with the validation layer and sound on: a whole race, no validation errors, all 455 pipelines, 0 silent audio frames.
- macOS (M1) package: a whole Dolphin Resort race at full speed.
- Unit tests: 171 passed on Linux. GitHub Actions builds and tests passed on Windows, Linux, macOS and Android.
- Not tested on a real hot Pixel, which is where it matters; tell us in #176 if the crackle remains.
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: 79. The companion licence archive applies to both APKs.
- macOS (Apple Silicon): download and extract the macOS ZIP; open
FreeRidersRecompiled.app(right-click › Open the first time). - iOS:
ios-arm64.ipa, to install with your own sideloading tool. - Online server:
docker pull ghcr.io/yuutatsubasa/free-riders-server:0.10.31 - Checksums:
SHA256SUMS.txt.
Use your own game disc image. No game data, private saves or test overrides are included.
Known limitations
The same as v0.10.6.