Latency - openantz/antz GitHub Wiki
The Mysterious World of Latency!!!
There is NO consensus as to what constitutes acceptable latency. At this time, we are NOT looking to start a 'Bruce Lee' style argument, but merely mention observations that have been reported to us.
- In 1968 Robert Miller stated "100ms is perceived as instantaneous".
- Gamers & Musicians tend to tell us that <10ms is reasonably good!
Lower is better, but what is acceptable is specific to the situation. Such as a band playing together (10-20ms), or when the dancer appears to move in-step to the music (40-80ms). Human perception varies with the individual and the specific senses (sight, sound, touch...) and the environment (mobile, cinema, VR, AR, mixed reality). Now consider:
- Sound travels at 343 m/s (sea-level) = 5.7 meters per video frame (59.94Hz).
- VR studies (in Japan) found that with head movement we can discern 1ms.
- Haptic (touch) is also about 1ms.
- Reaction time ranges with age from about 1/4 sec to 2 secs.
- You can test your hand eye coordination HERE!
We use a psuedo-state-machine approach to keep latency the lowest possible within the limits of the computers architecture (hardware and OS). Video tends to inherently have the greatest delay:
- Camera's at 59.94Hz adds 1 frame = 16.7ms
- Video input to GPU output without sync is 3-4frames = 50-67ms
- Video input to GPU output with GPUdirect & SYNC is 2-3frames = 34-50ms
- Screens add another frame + response delay for about 17-22ms
- So (best case at 60P) is: 17ms(cam) + 34-67ms(PC) + 17ms(screen) = 67-100ms
Minimizing (Perceptual) Latency:
- Hardware with SYNC brings video latency to minimum possible.
- VR can anticipate head movement (based on physics.)
- Software can run within the limits of the OS event handling jitter = 1-20ms typical.