1 / 44

Understanding the Impact of Latency in Gaming: Algorithms, Synchronization, and Perception

Explore the various aspects of latency in gaming, including its impact on consistency, synchronization algorithms, predictive client movement, extrapolation, interpolation, playout delays, and perception filters.

Télécharger la présentation

Understanding the Impact of Latency in Gaming: Algorithms, Synchronization, and Perception

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 11: Latency and Consistency

  2. LATENCY IMPACT

  3. CarA CarB CarA CarB CarA A=1, V=0 CarB A=1, V=0 CarA A=1, V=1 CarB A=1, V=1 CarA A=1, V=2 CarB A=1, V=2 CarA A=1, V=3 CarB A=1, V=3 ClientA ClientB

  4. Door is Closed & Unlocked Door is Closed & Unlocked Door is Closed & Locked Door is Open & Unlocked Lock Door Open Door Can’t apply open state Door is Open & Locked ClientA ClientB

  5. Shooter (PlayerA) Target (PlayerB) ClientA Server ClientB

  6. Shooter (PlayerA) Target (PlayerB) ClientA Server ClientB

  7. DUMB CLIENT AND LOCKSTEP SYNCHRONISATION

  8. Quake ClientA Quake Server Quake ClientB Mouse Keyboard Mouse Keyboard Read Input Receive Input Read Input Rendering Simulate Rendering Draw Lists, Game State Draw Lists, Game State

  9. CONSERVATIVE SIMULATIONS

  10. Doom ClientA Doom ClientC Read Input Read Input Receive Input Receive Input Doom ClientB Simulate Simulate Read Input Rendering Rendering Receive Input Simulate Rendering

  11. ClientA ClientB Message Queue ClientC MessageI Client=B Time=11.1 MessageI+1 Client=C Time=13.5 MessageI+2 Client=B Time=13.6 MessageI+3 Client=C Time=18.0 MessageI+4 Client=D Time=18.2 ClientD

  12. TIME

  13. EventExplode ClientA EventFire ClientB ClientC EventExplode is delay at ClientC until after EventFire

  14. EventExplode (1,1,0) EventExplode (2,1,0) ClientA EventFire (0,1,0) ClientB EventFire (2,1,1) ClientC

  15. OPTIMISTIC ALGORITHMS

  16. Lock Door t0 Open Door t1 Close Door Add Zombies t2 Remove Zombies t3 t4 ClientC ClientA ClientB

  17. CLIENT PREDICT AHEAD

  18. P0 P1 P2 P0 P1 P1 P2 P2 P3 P3 P1 P2 P3 P4 Move? P0to P1 Move P0to P1 Move? P1to P2 Move P1to P2 Move? P2to P3 Move P2to P3 Move? P3 to P4 ClientA Server

  19. P1 P1 P1 Q1 Q1 P2 P0 P0 P1 P2 P2 P3 P3 Move? P0to P1 Move? P1to P2 Move P0to P1 Move? P2to P3 FailMove P1to Q1 FailMove P1to Q1 Q1 ClientA Server

  20. EXTRAPOLATION ALGORITHMS

  21. 1st Order Model

  22. 2nd Order Model

  23. t2 t1 to a) Player model sending three updates b) Ghost model path without blending c) Old ghost model and new ghost model at t1

  24. d) Blending between the old ghost and new ghost over several frames e) Ghost model path with blending

  25. Old ghost t0 New ghost t0+t t0 New ghost t0 a) Old ghost position at t0, new ghost position at t0 and new ghost position at t0+t b) Dotted line shows the planned path to reach the target position and direction

  26. Update at t0 Update at t1 a) Player model showing the timings of dead-reckoning updates at the peaks of a periodic motion

  27. Player model update at t0 Extrapolation of player model Convergence path Correct player model path Ghost model location at t0 • b) On arrival of an update message, the ghost model plans to converge the current ghost model position with an extrapolation of the received position

  28. c) On the next update message the ghost model is out of phase with the player model. T

  29. t1 to Player model update at t1 Path of ghost model after update at t0 a) Player model showing the object avoiding the wall b) After the update at t1 the ghost model cannot converge

  30. 2nd Order Model with Error Threshold

  31. INTERPOLATION, PLAYOUT DELAYS AND LOCAL LAG

  32. t1 P1 t2 P2 t3 P3 P4 t4 Sender Receiver

  33. t0 t1 t2 t3 P0 P1 P2 P3 Interpolate P0→P1 Playout delay

  34. t1 P1 t2 P2 t3 P3 P4 t4 t5 t6 Sender Receiver

  35. t0 t1 t2 t3 Sender P0 P1 P2 P3 ClientA ClientB Interpolate P0→P1 Maximum latency Playout delay

  36. t0 t1 t2 t3 t4 EA1 ClientA EB1 EB2 ClientB EC1 EC2 ClientC Interval (Tα) Playout delay (T)

  37. PERCEPTION FILTERS

  38. ClientB ClientA

  39. Tnetwork Added delay 1.0 x position

  40. 1.0 x position 2.0 3.0 4.0 1.0 Time

  41. 1.0 x position of ball as seen from ClientB x position x position of ball as seen from ClientA 2.0 3.0 4.0 1.0 Time a) Both clients’ view of the ball x position using temporal corrections

  42. 1.0 x position of ball as seen from ClientA x position x position of ball as seen from ClientB 2.0 3.0 4.0 1.0 Time b) Both clients’ view of the ball x position without using temporal corrections

  43. REVEALING LATENCY

More Related