首页
/
每日頭條
/
遊戲
/
遊戲延遲是什麼原因
遊戲延遲是什麼原因
更新时间:2024-04-28 03:06:54

需要知道的是,不同的球員在不同的位置,延遲也是不同的。自然,因為網絡抖動,即使玩家A和玩家B同時按下同一個操作,也可能因為網絡延遲導緻不同的結果。比如,A和B同時向服務器發送數據,A需要10 ms,B需要20ms,因此,A在服務器中領先于B。

遊戲延遲是什麼原因(遊戲延遲原因)1

  所以,如果服務器收到一個數據包,立即發送給其他所有客戶端,比如發送給C的數據包需要90ms,而B發送給C的數據包隻需要50ms,就有

遊戲延遲是什麼原因(遊戲延遲原因)2

  表示“不”

  服務器端-

  因為C的網絡延時或抖動,用了10 90=100ms,C實際接收A操作幀變成了100ms。

  B -

  服務器端-

  因為C的網絡延時或者抖動,用了20 50=70ms,C實際接收B操作幀變成了70ms。

  然後,服務器收到的信息是操作A先于操作B,但是到了玩家C,就變成了操作B先于操作A。

遊戲延遲是什麼原因(遊戲延遲原因)3

  這就會導緻一個非常緻命的情況,就是比賽結果都不一樣。這個遊戲怎麼玩?而且如果每個玩家都有一個操作,會讓服務器廣播一次數據包,對網絡帶寬也是一個巨大的挑戰。此外,由于網絡環境問題,B操作的網絡數據包可能會被網絡丢失。所以,一個被廣泛使用的方法是,一個遊戲客戶端可能以更低的延遲發送同一個數據包,比如一個操作向服務器發送三個數據包,隻要其中一個數據包能被服務器接收到,就不會對遊戲産生太大影響。

  所以遊戲的同步機制其實是這樣的,服務器會實際框定遊戲操作。我們假設這個幀的粒度是100ms。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved