csgo吧 关注:3,898,939贴子:64,861,636

回复:从游戏开发者的角度预测下subtick的实现原理

只看楼主收藏回复

👀


IP属地:湖南来自Android客户端16楼2023-03-23 20:54
回复
    饰品贴以外少见的技术贴


    IP属地:四川来自iPhone客户端17楼2023-03-23 20:54
    回复
      2026-04-20 01:55:09
      广告
      不感兴趣
      开通SVIP免广告
      专业,cy


      IP属地:广东来自Android客户端19楼2023-03-23 20:57
      回复
        cy


        IP属地:四川来自Android客户端20楼2023-03-23 20:57
        回复
          那这个subtick是啥意思呢,前面说了,起源1的tick是只有客户端在tick那一下按的输入才有效,你在两个tick之间做的操作是无效的。
          subtick,我猜测就是每个tick客户端发送的包会包含从上一次tick到现在这一个时间段内的全部输入,发到服务器之后,服务器再根据你的输入数据进行结算。
          这么说有点抽象,通俗一点就是,表面上tick数还是64,但是每个tick内部可能又分成四个subtick,每次发送带四次输入的包给服务器,服务器再结算四次,这样等效tick就是256。


          IP属地:广东21楼2023-03-23 20:58
          收起回复


            IP属地:河北来自Android客户端22楼2023-03-23 20:58
            回复
              cy


              IP属地:福建来自Android客户端23楼2023-03-23 20:58
              回复
                完美🐔


                IP属地:安徽来自Android客户端24楼2023-03-23 20:59
                回复
                  2026-04-20 01:49:09
                  广告
                  不感兴趣
                  开通SVIP免广告
                  我想了半小时没想明白,然后就刷到这贴了


                  IP属地:广东来自iPhone客户端25楼2023-03-23 21:00
                  回复
                    可能有人会说,那你这不是脱裤子放屁吗,跟直接用128tick或者256tick有什么区别?
                    但是实际上来说,这么做是相当于局部可变tick。比如我每个包包括四个subtick,但是服务器检测到我瞄准的范围内(大概没有敌人),然后我也没有捏烟雾弹之类的,这时就可以直接忽视掉我这个人的subtick,等到下一个大tick再来检查我的状态。


                    IP属地:广东26楼2023-03-23 21:01
                    收起回复
                      火钳


                      IP属地:宁夏来自Android客户端27楼2023-03-23 21:03
                      回复
                        讲的好,但看不懂


                        IP属地:天津来自Android客户端28楼2023-03-23 21:03
                        回复
                          那扔道具有变化吗


                          IP属地:江苏来自Android客户端29楼2023-03-23 21:06
                          收起回复
                            也就是说他这个subtick可能是类似一个大tick后面跟三个小tick。每个大tick还是跟原来的框架一样,只不过会多判断一下玩家在该tick有没有做敏感操作。如果没有,小tick就可以无视该玩家,此时相当于64tick,如果有,则对玩家执行三个subtick,此时等效于256tick。
                            这么做的代价是每次发包会多发三个帧的键盘鼠标输入,实际上影响很小。对服务器来说,因为不是一直保持高tick,那么CPU运算量平均下来会比全局128小(大家可以想一下,全场10个人,多人同时开火或者丢投掷物的时间不会很久),但是等效作用相当于256tick。


                            IP属地:广东30楼2023-03-23 21:08
                            收起回复
                              2026-04-20 01:43:09
                              广告
                              不感兴趣
                              开通SVIP免广告
                              cy


                              IP属地:福建来自Android客户端31楼2023-03-23 21:09
                              回复