作者SmallBeeWayn (喵喵叫的蜜蜂貓)
看板C_and_CPP
標題Re: [問題] 多台電腦 想讓程式統一幀數
時間Fri Oct 29 17:09:46 2010
既然是要做網路同步的音樂遊戲,其實不用非常計較60FPS
重點是在背後的演算要同步,前景就根據各電腦狀況處理就好了
以音樂遊戲來說,超過50ms的誤差,專業玩家就會感到音符位置不對
(by之前做遊戲音樂的經驗,我是貓貓製作工坊)
這個誤差包含音符顯示位置的誤差,以及從玩家按下按鍵到系統反應的誤差
如果你的網路遊戲是近端同步(所有電腦需要零時差的放歌)那又更複雜了
涉及到網路時間同步.....
===========================================
你需要的並不是固定畫面的更新頻率,而是應該設定一個零點位置
所有輸出入模塊以這個零點為基礎去計算時間差
採用固定間距的做法,誤差累積下來絕對會飛掉
跨電腦的話就麻煩了一些,因為就算是區域網路也會有2ms以上的時間差
每台電腦的Buffer長度也不同,實際上要達到高度同步是很大的工程
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.180.163
推 holymars:不用到50ms啊..誤差還不到16ms(1 frame)就有玩家抱怨拍點 10/29 17:17
→ holymars:不對了..(-^-) 10/29 17:17
→ holymars:按下按鍵到系統反應這個誤差通常很微小 10/29 17:19
→ holymars:最大的問題是出在音符顯示位置需要配合人類的視覺反應 10/29 17:20
→ holymars:而且每個人的主觀認定會不同..XD 10/29 17:21
→ kingofsdtw:例: timer.interval設為0.1ms 實際取樣為10ms 10/29 17:22