Home/Articles
Articles
Six long pieces, each built around a measurement rather than an opinion. Code is C++ unless stated, the devices are named by class rather than model, and every table says how it was produced.
-
Packaging: APK, AAB and the size budget that actually matters
Split by ABI, split by density, drop the formats nobody uses, and stop compressing what you already compressed. A worked example, from 410 MB to 197 MB.
-
Memory on mobile: budgets, allocators and the OOM killer
A 4 GB phone does not give your game 4 GB. Where the numbers come from, how to measure a real budget, and why the low-memory killer is not the thing that kills you.
-
Power and thermal budget: designing for a phone that gets hot
Sustained performance is a battery and heat problem before it is a GPU problem. How to find your device's real budget and spend it deliberately.
-
Profiling one frame: where 16.6 ms actually goes
A frame budget broken into CPU, GPU and presentation, measured with Perfetto and a Vulkan timestamp query, on a phone that costs less than a monitor.
-
Low-latency audio: AAudio, Oboe and the numbers behind the knob
Buffer size, performance mode and sample rate interact in ways the documentation does not spell out. Measurements on five phones, and the settings we ship.
-
NDK and Vulkan: from an empty folder to the first frame
No engine, no framework: a CMake project, a native activity, a swapchain and a clear colour. Every step, with the errors you will hit and what they mean.
How these are written
Each article starts with a scene we can run, a device we can hold and a number we can repeat. Where a result depends on a vendor driver or a price tier, the text says so. Where we could not reproduce something, we write that too: a claim we cannot measure does not go in.
The code in the articles is small enough to paste into a project, and it is published under CC0: use it, change it, ship it, no attribution needed. The prose is ours and stays ours.
One or two a month
Articles are announced in the RSS feed with the same summaries you see here.