Screen latency

WALT can detect when screen changes color between white and black using a photodiode.

Photo of bottom side of WALT

Because the screen refreshes at predefined intervals (typically 60 Hz), most drawing commands do not take effect immediately but are processes during the next frame render event. See Choreographer.FrameCallback. An in-depth explanation about Android graphics can be found in this video.

WALT Android app uses View.setBackgroundColor to change the color and reports the time from the beginning of the next frame rendering until the screen changes physically.

The physical transition between colors is not instantaneous and may look very different depending on the direction - from black to white or white to black. Moreover some sections of the screen may update several milliseconds later than others. These details vary considerably between screen technologies and device models.

Example of screen brightness as a function of time during transition from black to white (blue line) and from white to black (green line) on Nexus 5X. The horizontal lines show the thresholds used by WALT for timing the transition (see #80). Example plot of brightness as a function of time

Sample measurements

Example of log output on Nexus 7:

-------------------------------
Median screen response latencies (N=100):
Black to white: 47.3 ms (N=50)
White to black: 50.2 ms (N=50)
Average: 48.8 ms
-------------------------------

All measurements below were taken with the device set to max brightness and WALT positioned in the middle of the screen.

DeviceOS versionBlk->white [ms]White->blk [ms]Average [ms]
Nexus 5M4B30Z (6.0.1)53.562.658.1
Nexus 5XNRD91P (7.0)60.775.468.1
Nexus 7LMY47Q (5.1)47.350.248.8
Nexus 9MMB29K (6.0.1)49.053.851.4