Skip to content

v0.1.1 - performance update for phones

Latest

Choose a tag to compare

@EvilNathan EvilNathan released this 21 Oct 16:54
· 15 commits to main since this release

v0.1.1 - performance update for phones

Same sources-only kit as v0.1.0, rebuilt around the first real-device
feedback: the game boots and plays on a mid-range phone (8 GB RAM), but the
frame rate was unusable. This update targets the Android present/pacing
layer and adds measurement for the next iteration.

Engine patch changes

  • Android now presents through the FIFO swapchain mode, so frames align with
    the panel vsync instead of landing in irregular bursts.
  • The frame pacing loop sleeps coarsely and then spins the final
    millisecond, removing the 1-2 ms SDL_Delay scheduler slack from the
    cadence.
  • On Android the swapchain surface is capped at roughly 1.4 M pixels (aspect
    preserved) while the compositor upscales the result; this cuts the final
    blit fill cost several-fold on tall 1080p/1440p-class panels.
  • The deinterlace weave became a runtime switch (initial state follows
    PS2_NO_DEINTERLACE) rather than a compile-time constant, so a governor
    can drop the extra blend pass on weak devices.
  • PS2_PRESENT_MODE=immediate|mailbox|fifo can force the present mode.
  • One logcat line per second (tag GoW2Stats) reports present fps, CPU %,
    GPU %, RSS, audio queue depth, and VU1 interpreter fallback calls, plus
    the chosen GPU adapter and surface size at startup. The Vuint value
    classifies a slow device: high values mean missing VU1 AOT programs, not
    renderer cost.

Kit housekeeping

  • Android app versionCode 2 / versionName 1.1.
  • engine.patch SHA-256:
    12214CB7ABBA52930AFBEF7F3B8826C70BCA2961007CAD2AFDA26DEB467A6441
  • README progress numbers were recalibrated after the first device run
    (~82% engineering, hardware validation ~5%).

Verify the archive

Get-FileHash .\gow2-android-build-kit.zip -Algorithm SHA256
# expected: 48EEEFCF5FE126220D43122656F07911BA19A3EA8C1832F5A78AAA8837650AFC

No game data, ISO, generated code, ELF, or APK is included - unchanged from
v0.1.0. See README.md and VERIFICATION.md for status and the honest
"not verified" list.