我在Meteor做了一個簡單的射擊遊戲。我還是很喜歡Javascript,所以我很確定我的代碼不是最高效的。我在流星中的遊戲有時會變得遲緩,有時候不是。
無論如何,一切工作在本地主機(當然)很好,而且我部署時大部分似乎沒問題。然而,有些時候會出現大量的滯後,而客戶將無法趕上長達30秒。畫布在客戶端每10ms更新一次,在服務器上每100ms更新一次。
這裏的遊戲: http://yujiangtham.com/jfleet/
來源: https://github.com/ytham/jfleet
我不知道從哪裏開始調試這一點。可能是因爲:
a)Mongodb不是爲這麼多快速讀/寫而構建的?
b)某處某處滯後,導致某種級聯滯後?
c)在畫布上更新很多HTML元素會導致客戶端滯後?
我真的很難過。任何指向正確方向的指針都會很棒。謝謝!
此外,澄清...遊戲使用流星,所以它可以同時支持儘可能多的玩家在頁面上合作,因此根據我的理解,所有事情都需要數據庫寫入,以便遊戲的狀態在真實(ish)時間同步給所有玩家。讓我知道是否有更好的方法來做到這一點。 –
在提出問題並針對每個問題提出一個問題之前,先解決您的問題。 – vinipsmaker
@vinipsmaker這不是3個單獨的問題。我正在尋求幫助,從哪裏開始挖掘。謝謝。 –