網(wǎng)游同步問題:
延遲、數(shù)據(jù)傳輸方式(TCP/IP,UDP/IP),服務(wù)器之間同步(P2P),丟包問題
技術(shù)分析:
1、同步算法分析
‘)保守同步算法:
i,Lock Step步伐一致同步,算法核心就是,在某個時 間段內(nèi),必須等待所有的用戶消息接受完畢后才進行操作。缺點,響應(yīng)周期長,優(yōu)點適合及時戰(zhàn)略類游戲,比較簡單。
ii, Time Bucket同步,即時間桶同步算法,核心是,異步同步算法,即思想是先來的先收數(shù)據(jù),后來后收,在處理的過程中是根據(jù)客戶端的延遲來回應(yīng)的,延遲越高,響應(yīng)時間越長。
’)樂觀同步算法
i. DR Bucket 即同步延遲桶同步算法,算法具體思想是,使用固定時間長 度的周期(比如T)對系統(tǒng)時間進行劃分,
對應(yīng)每一個時間周期T就會有一個桶存在,即頻率為1/T,消息被發(fā)送以 后,當接收方接收到消息的時候,就根據(jù)其對應(yīng)的時間周期將其放到消息 桶中,當這個桶周期結(jié)束以后,就可以使用桶里所有的消息來計算游戲的 狀態(tài)。如圖3.1所示,圖中包含本地主機和遠程主機兩條時序,在t0時刻本 機產(chǎn)生了一個消息,遠程主機在t1產(chǎn)生的消息在t2到達本地主機,t0和tl 屬于同一個桶周期,所以被放到了同一個桶中