例如,我有60 fps的遊戲邏輯但VSync爲50 fps。我應該將遊戲循環移入不同的線程併發送繪製線程的繪圖請求,或者我仍然可以使用一個線程修復此問題?如何解決遊戲循環以不同於VSync的幀率運行?
1
A
回答
2
您的遊戲邏輯需要1s/60來計算嗎?或者這只是您使用的模擬間隔?如果它是一個區間,我建議你調整模擬時間間隔到每個幀顯示一幀,也就是說,你測量幀之間的時間,並用它來模擬你的模擬。
0
您應該使用定時器而不是硬編碼的定時。 (而不是使用前一次更新和當前更新之間的差別超過1/60秒)。這樣可以避免計算無法保持在60fps的情況。然後,VSync也不會成爲問題。
糾正我,如果我錯了,但你可以在任何FPS和任何其他FPS在屏幕上繪製,沒有任何問題渲染(除了抖動也許有點)
隨着多核的CPU,我建議而是在實際中使用線程。例如一個線程中的物理效果,以及另一個線程中的渲染(使用快照數據渲染以防止副作用)。
1
看看這篇文章由格倫·費德勒, 「修復您的時間步長」:
相關問題
- 1. 如何調整遊戲循環幀率?
- 2. 的ActionScript遊戲循環不運行
- 3. 以相同的速度運行的Javascript遊戲循環?
- 4. 用於遊戲繪製循環的Javascript setInterval不一致運行
- 5. 想寫沒有VSYNC的固定幀率繪製循環
- 6. Android:同步遊戲循環
- 7. Java遊戲 - 運行代碼順序在遊戲循環
- 8. 遊戲Applet未在2D遊戲中運行(while循環)
- 9. 簡單的遊戲循環不循環?
- 10. 開發遊戲 - 如何執行多個遊戲循環?
- 11. 幀速率不恆定android遊戲
- 12. 如何使不同PC上的速度(遊戲的幀速率)相同?
- 13. LibGDX在不同幀率的遊戲版本中的差異
- 14. 同時爲一個遊戲運行兩個循環 - C
- 15. 回合制遊戲的遊戲循環
- 16. 一個基於文本的遊戲如何循環,取決於輸入在python
- 17. 如何在Flash中設置運行/遊戲循環?
- 18. Android遊戲循環,如何控制速度和幀速
- 19. JAVA遊戲循環?
- 20. Win32遊戲循環
- 21. Javascript遊戲循環
- 22. 在遊戲循環
- 23. BlackJack遊戲循環
- 24. Lua,遊戲狀態和遊戲循環
- 25. 文字遊戲 - 遊戲循環
- 26. Android遊戲的不同分辨率
- 27. 未解決依賴於遊戲框架
- 28. 在Android遊戲循環中同步
- 29. 對於循環卡遊戲卡住
- 30. 遊戲循環的問題