【网络多人游戏架构与编程2】
1、非网络延迟。
1)输入采样延迟(input sampling latency)。用户按下一个按钮到游戏检测到这个按钮的时间可能很长。下图表明,游戏循环架构可能导致 Input Sampling Latency 高达接近 2帧的时间。
2)渲染流水线延迟(render pipeline latency)。驱动程序将绘制命令插入到缓冲区,GPU在未来的某个时刻执行。如果有许多渲染任务要做,可能会导致滞后 1帧 渲染出来。
3)多线程渲染流水线延迟(multithreaded render pipeline latency)。
4)垂直同步(VSync)
5)显示延迟(display lag)。显示器可能会对画面进行调整。
6)像素响应时间(pixel response time)。像素改变需要时间,大概几毫秒。
2、数据包传输过程中,有四种主要的延迟:
1)处理延迟(processing delay)。网络路由器的工作包括:读取数据包、检查目的IP、找出下一台机器等。
2)传输延迟(transmission dely)。链路层将数据写入物理层(转为物理层信号)的时间。
3)排除延迟(queuing delay)。
4)传播延迟(propagation delay)。例如从东海岸传播到西海岸的时间。
3、网络抖动会导致数据包乱序到达。
4、
5、
6、
7、
8、
9、
10、