• v0.5.8 33b192a20f

    vaduur released this 2026-10-10 01:07:18 +00:00 | 1 commits to main since this release

    A CPU and stability pass. Install over the previous version; your saves and settings are kept.

    May be fixed or improved

    • Rare crashes in long sessions. The game's lock and barrier instructions are now real memory barriers on ARM64. Before, they compiled to nothing, so on a phone one thread could see another thread's data out of order. This is a likely cause of some rare, random crashes.
    • Crash after a car collision. A crash on a stale object in the game's entity list is now caught: the broken entry is skipped for that frame.
    • Stutter while driving fast or streaming the city. Every time the game committed memory, the runtime parsed /proc/self/maps (thousands of lines). It no longer does.
    • Smoother game logic. The game's CPU registers are now kept in native registers instead of memory. At the reference bridge on a Retroid Pocket 5, the game threads got about 3 ms lighter per frame, and frame rate went from about 26 to 28-30 FPS.
    • Lighter shaders. The shader cache was rebuilt with merged conditional blocks: about 15% fewer branches on the GPU, same image.
    • Faster renderer. The renderer is now built with stronger optimizations (-O3, link-time optimization, hot functions placed together). Several hot spots in the frame recorder were also made cheaper: shader constant copies, hash table lookups and per-frame allocations.
    • Phones with game boosters. The app now declares Android's game modes, so Samsung Game Booster, RedMagic Game Space and other game tools recognize it as a game. Some of them limit the CPU clock of apps they don't know.
    • Snapdragon 8 Elite (Adreno 830). GPU waits are now made one second at a time. That driver returns at once from an endless wait, which could freeze or corrupt the picture.
    • Draw distance no longer jumps back and forth. The dynamic draw distance now changes in small, spaced steps, measured over one-second windows. Its minimum is 0.80, and older settings are migrated automatically.

    For testers

    • The runtime log now shows guest threads that spin on yields or locks (yields/spins-5s= in the thermal: lines).
    • --gta4_native_frame_timeline=true logs per-frame stage times.

    Known: in the heaviest places (the bridge at night) the frame rate can still dip to about 28 FPS. The frame recorder is the limit there.

    Downloads