Steam官方指南:如何判断游戏卡顿问题来源
CS2有一个游戏内HUD,可以用来监控帧率和网络条件。遥测HUD可以在 设置 > 游戏 > 遥测 下启用。
以下描述的HUD的每个部分可以配置为从不显示,始终显示,或在条件“差”时显示。
因为条件会因用户而异,我们让您决定什么是“差”。您可以调整每个性能指标的警告阈值,当值超过该阈值时,其值将变为红色,这意味着条件被认为是“差”。此外,您选择仅在条件差时显示的所有选项将变为可见。
帧时间和FPS
左边的数字后跟“ms”表示帧时间,即连续帧之间的时间间隔,单位为毫秒。
右边的数字表示平均帧率(FPS),即每秒显示的帧数。
这两个数字告诉你屏幕更新的速度。FPS显示的是平均帧率,适用于衡量整体性能。通常,平均帧率与计算机和配置的性能相关。
左边的数字显示的是最大帧时间(最慢的帧时间),适用于识别短暂的“卡顿”或“停顿”。
推荐: 将帧时间警告阈值设置为你通常遇到的最大帧时间的略高值。这样,在遇到“卡顿”时,你可以判断问题是否是计算机性能问题。(而不是网络问题。)
Ping
Ping测量的是网络往返延迟,单位为毫秒。Ping值越低,你的信息越快地传送到服务器并收到来自服务器的回应。
请注意,这仅仅测量了数据包通过网络的时间。
推荐: 如果你遇到非常高的Ping值,可以尝试减少“设置 > 游戏 > 最大可接受的匹配Ping值”,这将限制匹配器允许你进入的服务器范围。
网络问题
有时你可能会在比赛中遇到“卡顿”或“回弹效应”。网络问题显示可以帮助你判断问题是出在网络连接还是计算机性能上。
显示的两个数字分别是上下箭头,表示网络条件如何影响你的游戏体验质量。即有多少“ticks”丢失(关于ticks的详细描述见下文)。
向上的箭头表示从计算机到游戏服务器的数据包,向下的箭头表示从游戏服务器到计算机的数据包。在这个例子中,网络条件在两个方向上都影响了游戏体验质量,并且下行方向受到的影响更大。
推荐: 将tick丢失率警告阈值设置为相对较低的值,例如0.1%或0.5%。这样,在你遇到“卡顿”时,可以判断问题是否是网络问题。(而不是计算机性能问题。)
你可以通过增加“设置 > 游戏 > 缓冲区”来平滑处理数据包丢失/网络抖动问题。请注意,这会增加额外的延迟。(卡顿问题越严重,则可以将缓冲数值改至更高的tick数)
给“技术宅”们的技术细节
帧时间与FPS的关系是什么?
帧时间和帧率是描述屏幕更新速度的两种方式。从数学上来说,它们是互为倒数的关系。例如,如果帧时间是20毫秒,那么帧率将是1秒/(20毫秒/帧)=50帧/秒。
然而,你会发现显示的数值往往不是彼此的倒数。因为每一帧的时间并不相同,帧时间显示的是最大帧时间(最近时间窗口中的最慢帧),而FPS显示的是平均帧率,这也是传统的游戏中FPS的表示方式。
什么是网络抖动(Jitter)?
网络抖动是数据包流动的中断。发生“交通堵塞”时,一个或多个数据包会经历不寻常的延迟,并比预期时间晚到达,可能会形成一块延迟。
抖动有时也被称为延迟波动,因为它表示数据包通过网络所花费的时间不一致。发送两个数据包之间的时间与接收这两个数据包之间的时间是不同的。
抖动非常重要,因为像游戏这样的实时通信不仅需要消息成功传递,还需要按时到达。如果消息迟到了,通常和丢失消息一样糟糕。仅仅测量丢包率的网络测试是不完整的。抖动是描述实时网络连接质量的重要指标。
tick丢失率到底是什么?
遥测HUD中的两个网络质量测量显示了tick丢失率。这个数字表示服务器或客户端准备处理下一个tick时,所需的数据没有及时到达。
服务器每次按固定间隔发送包含游戏状态更新(“快照”)的消息,每秒64次tick(Counter-Strike 2使用每秒64次tick)。下行tick丢失率测量的是客户端在需要下一个快照时,快照尚未到达的情况。
同样,客户端每秒1/64次向服务器发送一个用户命令,上传tick丢失率表示服务器上每次tick,客户端的用户命令未及时到达的比例。
记住,tick丢失率只计数因网络问题导致丢失的tick。它不仅仅是丢包的衡量。如果tick丢失率为0%,并不意味着网络条件完美。
额外缓冲如何“平滑”问题?
在完美的条件下,我们会调整时机,使得消息恰好在需要时到达。如果消息到得太早,这会增加延迟,效果和Ping增加一样。消息提前到达的时间称为“接收裕度”(receive margin)。这是我们用来吸收随机延迟的裕度,无论这些延迟是由计算机、游戏服务器还是网络造成的。
Source 2引擎会持续调整时钟,以获得理想的接收裕度。如果网络出现抖动,通常引擎可以自动增加缓冲区,以确保延迟较大的数据包仍能按时到达。然而,有时自动调整可能不足够。
当你增加“游戏 > 缓冲区以平滑数据包丢失/抖动”设置时,客户端会调整时钟同步,以增加接收裕度,增加一个或多个tick的时间。这可以减少丢失的ticks数量。它以不同的方式隐藏由抖动和丢包造成的问题。
如果连接上的抖动非常不稳定或“尖锐”,即延迟非常大但发生的频率很低,游戏的自动调整可能不足够。增加一个或多个tick的缓冲可以向时钟同步器发出信号,提示它需要为较大的延迟峰值做准备。
如果丢失了一个数据包,增加额外的tick使得可以填补这个空缺。因为丢失的数据包之后的tick通常会到达,而我们有足够的信息来“平滑”丢失的tick。
增加这些额外缓冲的缺点是会增加额外的延迟。
如何获取更详细的网络连接信息?
基础的“网络问题”数值衡量了你的网络连接如何负面影响你的游戏体验,而不是直接衡量连接质量。你可以通过实时图表和数字显示这两个选项,在Telemetry HUD中查看丢包和抖动的原始数据。
网络抖动/错发图表
网络抖动/错发图表是显示你的网络连接质量的实时视觉指示。每个图表上的条形代表一个网络消息。条形的高度表示该消息中的抖动量。如果消息丢失,会画出一条实心的红线。如果消息顺序错乱,会画出一条实心的紫线。如果抖动超过阈值,可能导致tick丢失,图表中的条形会显示为红色。
如上图所示,显示了一个有少量抖动(峰值约为8ms)和一些丢包的连接。每个图表的刻度,20ms就是图表顶部的数值。明亮的红线表示丢失的消息。
以下是一个抖动较高的连接示例。请注意,这个连接没有丢包。
图表中的红线表示警告阈值,超过此值,网络抖动可能导致tick丢失。阈值根据当前手动设置的缓冲量(通过设置 > 游戏 > 缓冲区平滑数据包丢失/抖动)而变化。如果一个数据包的抖动超过了这个阈值并变红,表示抖动量相对于当前配置的缓冲量较高。并不一定意味着丢失了tick并影响了游戏体验。
如果连接抖动呈现较为均匀的“白噪声”模式,并且峰值间隔只有一秒左右,游戏引擎通常可以自动增加足够的缓冲来吸收随机延迟,在这种情况下你无需采取任何行动。然而,如果抖动呈现为偶尔的“尖峰”,且之间有长时间的平静期,你可能需要上调“缓冲区平滑数据包丢失/抖动”的设置。
记住,这些图表显示的是底层网络条件。如果发生错发或过度抖动,图表会显示红色或紫色条形,但这不一定意味着丢失了tick并影响了游戏体验。
详细网络质量显示
详细的网络质量显示以紧凑的数字形式显示当前的丢包和抖动。
“Ping”和“Miss”列显示与基础视图相同的信息。“Loss”显示丢包,“Jitter”显示最大抖动。在此示例中,尽管存在丢包和显著的抖动,但tick丢失率仍为0%,因此游戏体验不会受到影响。
你可以将网络显示配置为使用基本视图,在网络条件不佳时扩展为详细视图。
更新于:19小时前
我要评论