欢迎光临散文网 会员登陆 & 注册

【自制熟肉】【Fiveso】CS2的移动机制以及subtick详解

2023-08-05 11:18 作者:Alsymiや  | 我要投稿

MrMaxim 关于tickrate的猜测视频地址:

https://www.youtube.com/watch?v=AmIGvTrvkU8


简单来说,CS2的subtick里服务器与各玩家电脑的沟通频率是64次每秒。虽然包的发送个数是每秒128个,但是每次都是一个大包紧接着一个极小的小包,然后大包与大包之间的时间间隔在1/64秒左右。

MrMaxim对此的猜测是因为单个发送包的最大长度有限,而新的发送内容超过了该长度,所以只能分成两个包来发。


在MrMaxim的图表里,CSGO的64tick服务器发送的包大小/长度在160~200左右,而128tick社区服务器的包大小也是160~200左右。总而言之它们都没超过500。


那么CS2的subtick大包有多大呢?1300多!


更多的信息或许包括了具体的发射时机,按键时机等。但是到2023年8月为止Valve并没有给出具体是多少。


另外,在该视频下,有一个关于音频处理的回复是这样的:

(另注,CS2的运行是非同步/异步的。在Valve的更新中指出这样会降低服务器CPU的工作负载,这样被忽略的帧数就会更少)


ChatGPT机翻结果:

"没错,我也这么理解的。

在音频中,当多路流进行复用时,需要拥有同步的时钟,以便每个数据包(帧)包含一组固定数量的样本或毫秒数。然后,通过改变帧大小来设置传输延迟(延迟)。

非同步音频则尝试将每个流钟率与自己的速率同步,并允许它们在浮动的时间基准下进行"混合"。一个来自一条流的样本可能恰好处于另一条流样本的1/2位置,然后通过将BOTH流转换/重新采样为另一个由服务器确定的采样频率来混合它们。这可以在服务器端信号混合中实现亚毫秒级的延迟。

我认为这就是这里发生的情况。服务器将玩家通信重新采样为更高的帧率,但仍然只在每个客户端上以1/64秒的帧进行通信。但是,客户端的"动作"可能被报告为发生在帧的1/4位置,服务器将其解释为所有连接客户端的信息流时间线中的1/256时间基准信息,使服务器能够更准确地报告并更准确地响应多个非同步客户端的时间线,即使它只在1/64秒的时间间隔内这样做。"


总的来说,CS2的沟通的频率、内容和办法与当前CSGO的有很多不同。但是subtick在某次更新中就已经说明了bhop的时间间隔可以被设置,以达到128tick的效果。Ropz其实也已经评价过了。


至于CS2的手感,我只能说跟CSGO有点不同。它的响应延迟应该比CSGO更短,这在我滑翔时(BV1Kk4y1g7uF)感受挺明显的。

【自制熟肉】【Fiveso】CS2的移动机制以及subtick详解的评论 (共 条)

分享到微博请遵守国家法律