Older and low-end devices
Most AR makeup SDKs quietly assume a recent phone. Ours does not, because your users do not all carry one. We put real makeup through a real video call on Android phones going back to 2018 — including the kind of entry-level hardware other vendors leave out of their spec sheets — and on iPhone, recorded every run, and published the numbers here, good result first.
What to expect
On mid-range and recent devices Lumaris holds a smooth call: our published target is 23 fps and up, with capture-to-published latency well inside what a conversation tolerates. A video call stays comfortable down to roughly 14-15 fps, which is where the older hardware below lands. Under that, the SDK is designed to protect the call rather than the filter: it steps quality down on its own, and at the very bottom it turns makeup off and keeps the video flowing instead of freezing it.
How these numbers were produced
Every device ran the identical test, twice, with nothing else configured differently:
- The same 15-second clip is pushed through the pipeline in real time, so the numbers include capture, tracking and rendering. On Android the frame then goes into a live Agora call and the numbers include encoding and publishing too.
- Each device is measured once with the full look — red matte lipstick, black eyeshadow, foundation, blush, mascara — and once with the makeup and face tracking switched off, which gives that device's own ceiling on the same path.
- Frame rate is counted as new pictures a second on the device, not frames requested; latency is the median from the captured frame to the finished frame the SDK hands to your call.
- The screen recordings below come from separate runs, so the cost of recording never flatters or distorts the published numbers.
Measured devices
Left: the device without makeup, the ceiling it can reach on this pipeline. Right: the same device with the full look running.
Apple iPhone 12
Released 2020 · Apple A14 Bionic · Apple 4-core · 4 GB · iOS 27.0
- Without makeup
- 30.0 fps
- With Lumaris
- 30.0 fps
- Latency
- 33 ms
Xiaomi Redmi Note 9 Pro
Released 2020 · Snapdragon 720G · Adreno 618 · 6 GB · Android 10
- Without makeup
- 25.9 fps
- With Lumaris
- 19.9 fps
- Latency
- 65 ms
Xiaomi Redmi Note 5
Released 2018 · Snapdragon 636 · Adreno 509 · 3 GB · Android 9
- Without makeup
- 24.0 fps
- With Lumaris
- 13.9 fps
- Latency
- 124 ms
OPPO A16
Released 2021 · MediaTek MT6765 · PowerVR GE8320 · 3 GB · Android 11
- Without makeup
- 25.7 fps
- With Lumaris
- 9.9 fps
- Latency
- 175 ms
Samsung Galaxy A10s
Released 2019 · MediaTek MT6765 · PowerVR GE8320 · 2 GB · Android 11
- Without makeup
- 25.7 fps
- With Lumaris
- 7.9 fps
- Latency
- 212 ms
General Mobile GM 8
Released 2018 · Snapdragon 430 · Adreno 505 · 3 GB · Android 9
- Without makeup
- 25.7 fps
- With Lumaris
- 7.9 fps
- Latency
- 218 ms
Below the floor
Weaker hardware than this exists, and we have measured it too: four-core entry chips whose GPU simply cannot composite makeup in time. That case is what the quality ladder is for. The SDK lowers the render resolution first, then the frame rate, and at the bottom it switches makeup off and lets the call keep running at the device's own rate rather than freezing the picture. Nothing about that is left to the host app to detect — it happens on its own, during the call, and reverses as soon as the device recovers.
Every figure on this page came off a physical device on our bench, not an emulator or a projection. If a device class matters to you and it is not listed, ask us and we will measure it.