Home/News
News
Short reports on the toolchain, the graphics APIs and the measurements that change how a game runs on a phone. One to three items most weeks; the longer arguments live in Articles.
-
Android 17 preview raises the memory limits for games
The per-app limit on low-memory devices moves from 512 MB to 768 MB. The OOM killer still ignores your intent, and that is the part that matters.
-
NDK r29 preview: what changes for game builds
The preview drops the legacy toolchain files, moves to LLVM 19 and finally makes the C++ standard library choice explicit.
-
The average frame is fine and the game still stutters
Report the 95th and 99th percentile, not the mean. A 16.6 ms average with a 40 ms tail is a game that hitches twice a second.
-
The asset half of APK size
Compression settings saved 12 MB. Wrong texture formats saved 180 MB. The order matters.
-
Gamepad to photon: measuring input latency end to end
A high-speed camera and a Bluetooth controller with a known LED give a number you can act on, without special hardware.
-
The memory type you pick is a promise about the next frame
DEVICE_LOCAL is not automatically faster, and HOST_VISIBLE is not automatically slow. The difference shows up two frames later.
-
Baseline profiles do not help native code, but their siblings do
A baseline profile speeds up the Java and Kotlin startup path. For a native game, the equivalent work happens in your own loader.
-
The 16 KB page checklist, one year later
Most games are aligned now. The failures we still see are assets, not code: uncompressed files that get mapped directly.
-
Three ways to compile shaders at load time, and what each costs
Offline, at install, or on first use. The trade-off is start-up time against a stutter you cannot hide.
-
Android 16 game mode: what the API actually reports
The mode is a request, not a guarantee. Here is what a game can read back, and which parts vary by device.
-
Thermal throttling on 2025 flagships: the first ten minutes
We ran the same scene for 40 minutes on six phones. Every one of them lost at least 20 percent of its frame rate, and two lost more than 40.
-
Rust on Android: a toolchain that survives an NDK upgrade
Pin the target, the linker and the NDK version in one place, or spend a morning reading undefined symbol errors after every update.
-
Capturing a GPU frame on a retail phone without root
Debug layers plus a layer-enabled build are enough for most engines. The trick is getting the layer into the process before the first frame.
-
NDK r28 makes 16 KB page alignment the default
Newer devices ship with 16 KB memory pages. Native libraries linked for 4 KB still load, but the gap is closing and the fix is one linker flag.
-
Oboe 1.9 cuts callback jitter on three of five test phones
The new version moves the resampler off the audio thread when the device runs at a non-native rate. The improvement is real but not universal.
-
A missing image barrier that survived three releases
Sync validation found in four seconds what a month of playtesting could not: a writer and a reader touching the same image in the same submission.
Every item, in one file
The RSS feed carries all 16 news items with full summaries. No account, no email address.