1. 程式人生 > 其它 >幀同步技術總結

幀同步技術總結

1.幀同步是基於客戶端對遊戲進行一個幀數的定義,比如每秒16幀,那麼在1/16秒時,記錄下玩家的在此幀的所有輸入操作

記錄的幀數和操作會同步給所有玩家,每幀所有玩家都會收到一個buffer,這個buffer裡面記錄著操作指令,這個buffer越小網路傳輸越快

幀同步就是好比如,在操作的玩家在進行一個錄影帶的錄製,並且還要把這個錄影帶同步給所有玩家,所以他的斷線重連就是加速跑幀

2.幀同步最大的優點在於,開發複雜的技能和功能時候,效率高,服務端只是轉發操作指令,這點是優於狀態同步

幀同步沒有我的概念,在開發的時候就要做到操作和表現分離,保障程式碼的一致性,而狀態同步比較隨意

3.但是幀同步的一個缺點就是,不適合大地圖大世界的遊戲。因為幀同步的邏輯是運算在客戶端上的。比如千米以外有個人在蓋房子,幀同步的話還需要同步他的操作指令,還原這個房子

但是狀態同步的話,只是記錄狀態,記錄資料。狀態同步可以通過AOI技術,只同步感興趣的範圍,進入其他未同步的範圍時,可以通過狀態還原,瞬間同步,但是幀同步是基於跑幀來還原同步的

4.混合同步

採用2種同步方式,將適合幀同步的採用幀同步,不適合幀同步的採用狀態同步

但是整體是依賴於狀態同步資料,小範圍內進行的是幀同步