Development snapshot · 20 October 2026
Performance, with the
test conditions included.
The prototype reports measured processing stages. These figures are useful engineering evidence, but they do not establish an end-to-end frame-rate guarantee.
Recorded development measurements
| Fixture | Workload | Frames | Mean / P95 | Over 33.33 ms |
|---|---|---|---|---|
| Mac · 1080p repeated still | 4 detected faces; 4 replacements | 450 | 18.19 / 24.09 ms | 3 |
| Mac · 2048×1080 moving clip, 25 fps | Single-role video test; first frame waits for confirmation | 270 | 14.07 / 19.90 ms | 0 |
| Android · 1080p repeated still | 4 detected faces; 1 replacement | 30 | 24.36 / 36.64 ms | 2 |
The Android measurement was recorded on a Xiaomi 15 Pro, SM8750, with Adreno 830 / HTP v79. Detector, recognizer and generator kernel events used the QNN execution provider. Source-photo preparation used the CPU.
The moving Mac clip produced a replacement on 269 of 270 frames after the initial confirmation wait. It did not exercise the weak-evidence continuation path. It therefore does not establish interruption rates for complex TV footage, multiple moving people, or difficult head poses.
What these numbers include
Engine processing includes detection, identity recognition and the replacements performed on that frame. The replacement stage includes generation and compositing for the swapped faces. A frame with no replacement must not be presented as a cheap successful replacement.
What these numbers do not establish
Repeated still-image timing does not include full screen-capture, display and audio synchronization. Moving-video profiling uses native decode and encode, but its process_ms measurement excludes decode, encode and texture readback. Neither figure should be inverted and advertised as delivered screen-playback fps.
A second Mac still-image run under a different scheduling configuration measured 21.93 ms mean and 30.57 ms P95, with 11 frames over budget. This illustrates the effect of environment and scheduling; the more favorable run is not a zero-drop promise.
Useful evaluation criteria for a real integration
- Actual delivered output rate, not only model execution time.
- Capture-to-display delay and behavior when a frame is stale.
- Correct replacements, missed detections, missed identities and mistaken identities.
- Head rotation, expressions, occlusion, cuts, crossings and repeated identities.
- Device, resolution, number of detected faces and number of replaced faces.
The Mac prototype displays recent averages for detection, recognition and replacement. The recognition stage includes identity cropping, embedding generation and matching. Output rate is counted from actual submitted frames; paused or frozen previews label retained measurements as previous values.
Stable 1080p / 30 fps with 2–4 moving people remains an acceptance target. Selected static fixtures fit the frame budget much of the time, while robust end-to-end performance and difficult-pose quality are not yet fully validated.