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.

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.