Overhead
Measuring performance comes at a cost. In order to gather metrics, the system must interact with several subsystems — including CPU schedulers, GPU drivers, memory managers, and OS-level instrumentation interfaces — to collect, process, and store the data. These operations consume resources themselves, meaning that the act of profiling can introduce a small but measurable overhead on the device being tested. While GameBench is designed to minimise this impact, it is important to be aware that no performance measurement tool operates entirely without footprint, and results should be interpreted with this inherent trade-off in mind.
The measurements below were taken using a GameBench dummy application that places a constant, known load on both CPU and GPU, ensuring a reproducible baseline for comparing overhead across different profiling configurations.
Overhead on Android (11+)
Google Pixel 6 — Google Tensor (GS101), Mali-G78 MP20 GPU
CPU Overhead
| CPU busy | Overhead | |
|---|---|---|
| Android app v8.37 (baseline, not profiling) | 24.4% | |
| Android app v8.37 (all metrics + device logcat) | 27.5% | 3.1% |
| Android app v8.37 (all metrics, screenshots disabled) | 27.5% | 3.1% |
CPU busy is measured with “top”, normalized.
GPU Overhead
| GPU avg | GPU max | Median FPS | |
|---|---|---|---|
| Android app v8.37 (all metrics) | 63.40% | 74.20% | 41 |
| Android app v8.37 (only GPU and FPS metrics enabled) | 64.50% | 75.00% | 42 |