Graphics Performance Testing on Various Devices

A game can run perfectly on one smartphone and lag on another — the reason lies in differences between graphics architectures. We perform graphics performance testing on various devices and identify the causes of frame drops. Our team delivers a turnkey project — from profiling and analysis to optimization and repeated measurements, ensuring stable game performance with ongoing support.

Our competencies

Other studio services

Frequently Asked Questions

Latest works

  • Game development for Mortal Motors
    Game development for Mortal Motors
    1638
  • A turn-based strategy game set in a fantasy setting, With Fire and Sword
    A turn-based strategy game set in a fantasy setting, With Fire and Sword
    1123
  • Game development for the company Second term
    Game development for the company Second term
    751
  • 3D animation - teaser for the game Phoenix 2.
    3D animation - teaser for the game Phoenix 2.
    830

A game that delivers a stable 60 fps on a Pixel 7 can drop to 18 fps on a Redmi Note 9 — and that's not because the phone is "weak." It's because the Adreno 618 and the Mali-G52 process the same shader differently, and no one checked the behavior on Mali before release.

We analyze cases like this every day and know how to turn a slideshow into smooth visuals. Over the course of our work, we have tested more than 50 projects — from hyper-casual titles to open-world RPGs.

Graphics performance testing is about understanding hardware differences and making sure a game doesn't lose its audience.

What the work includes

Stage Result
Project analysis and build collection Device matrix, test scenarios
Baseline profiling Frame time, draw calls, overdraw, memory per each device
Iterative optimization Atlasing, LOD, GPU Instancing, occlusion culling, Shader LOD
Re-testing Before/after metrics comparison, identification of new issues
Report and team training Documentation, logs, access to reports for 2 months

Why does the game lag only on devices with Mali GPU?

The Mali architecture uses tile-based deferred rendering, where overdraw and high-precision shader instructions can cause performance drops. For example, mediump precision in textureCubeLod can trigger a software fallback. We identify such cases using Mali Graphics Debugger.

Where the real performance issues hide

Draw calls and batching. 200 draw calls on a mobile device is a red zone. UI via Canvas in Overlay mode with multiple child canvases, each of which overrides sorting, is guaranteed to break all batches. Result: 80 draw calls just for the HUD, which can be reduced to 5–8 with the correct hierarchy.

Overdraw. On mobile GPUs (tile-based deferred rendering), overdraw kills performance faster than on desktop GPUs. Rendering one pixel 4 times in a row is 4 times more work on the GPU.

Particle systems with Additive blending, UI layers without culling, and transparent meshes are typical sources. RenderDoc visualizes overdraw as a heatmap right in the viewport.

Thermal throttling. Mid-range Android devices after 3–5 minutes of intensive gameplay reduce CPU/GPU clock speed by 20–40% due to overheating. This does not reproduce on an emulator.

Therefore, a sustained performance test is only on real hardware, at least 20 minutes of a gameplay session.

How to build a device matrix for testing?

Testing on a single “representative” device is not enough. The minimum matrix for a mobile project:

  • Low-end (target floor): Qualcomm Snapdragon 460/Adreno 610, Mali-G52, 3 GB RAM.
  • Mid-range (main audience): Snapdragon 700 series/Adreno 618-619, Mali-G76, 4–6 GB RAM.
  • High-end (flagship): Snapdragon 8 Gen 2, Apple A16, 8+ GB RAM.

iOS separately: iPhone SE 2 (A13), iPhone 12 (A14), iPhone 14 Pro (A16) — three generations, three different Metal behaviors.

Why doesn't testing on an emulator replace real hardware?

The emulator does not reproduce thermal throttling — it uses PC resources without restrictions. Moreover, the emulator does not emulate the tile-based architecture of Mali and PowerVR, so overdraw and shader issues can go unnoticed.

Only on a physical device can you measure the real FPS budget, thermal throttling drops, and battery behavior.

Tools and Methodology

Main workflow: Unity Profiler → Frame Debugger → Memory Profiler → platform-specific tools. Unity Profiler provides a CPU breakdown by threads and a GPU timeline, but the GPU timeline does not work correctly on all devices.

On some Android devices, the Profiler via ADB shows zeros in the GPU block. In this case, we use native tools:

  • Adreno GPU Profiler (Qualcomm): detailed breakdown by pipeline stages, HSR efficiency, shader cycle counts.
  • Mali Graphics Debugger (Arm): similarly for Mali architectures, plus bandwidth visualization.
  • Xcode Instruments + Metal Debugger: for iOS/Metal — a mandatory tool.
  • RenderDoc — cross-platform frame capture with a full state inspector for analyzing shader and batching issues.

For automated benchmarking — Unity Performance Testing Package. It lets you write tests that measure metrics (frame time, GC allocations, draw calls) and preserve a baseline.

How we do it

  1. Initial analysis: we study the build, identify target devices, and agree on the matrix.
  2. Baseline profiling: on each device we record frame time, draw calls, overdraw, memory.
  3. Bottleneck identification: we find the problematic scenes (match start, explosion effects, open spaces).
  4. Iterative optimization: texture atlasing, LOD groups, GPU Instancing, occlusion culling, Shader LOD.
  5. Re-testing: after every change — measurement on all devices.
  6. Validation: sustained performance check (20+ minutes) and a report with recommendations.
Testing scope Estimated timeline
Profiling of a single scene, 2 devices 3–5 days
Full game profiling, matrix of 6 devices 2–3 weeks
Testing + optimization + validation 4–8 weeks

Contact us to discuss the details and get your project evaluated. Get a consultation from an engineer with experience optimizing for any GPU.