2012-10-07 39 views
0

可能重複:
What's the usual way of controlling frame rate?設置幀速率?這是一個好主意嗎?

我是一個業餘的,當涉及到編程,但我想請問,如果這是處理事情的有效方式。

現在,我的程序當前每一步都會自動更新,但我期待將程序分成更小的幀速率。我目前的想法是設置一個主時鐘,在每30個時鐘左右(例如),遊戲會自動更新。但是,我期望在該時段結束時更新屏幕的時間內(例如,每隔10秒)分別更新程序的不同部分。我認爲這將有助於緩解一些「壓力」(假設有)。

+0

你是什麼意思,「每30個滴答聲」?什麼? –

+0

我只是指程序在運行時的步驟。 – user1703993

回答

2

我不會那樣。它會變得更好/更容易/更乾淨,尤其是在開始時,儘可能頻繁地更新遊戲/屏幕(例如,將其置於一段時間(真實)循環中)。然後每次迭代,找出經過的時間並相應地使用它。 (例如,每移動一個對象1像素,每過去20ms)或其他東西

這是一個更好的起點,你會很難保證準確的30fps,遊戲會表現奇怪(例如,如果一個慢速計算機只能拉動15fps,你不想讓對象進行兩倍的速度),更不用說漂移/個別慢幀等。

+0

但我只是改變主要更新循環。由於我的整個程序圍繞該循環進行,因此只需聲明系統應該每20ms更新一次就很容易。但我更進一步。我想在這20 ms內更新系統的一個特定子集,最後更新屏幕。 – user1703993

+0

你可能在想這件事。特別是在開始時,只需做最簡單的事情。例如將物理與更新幀放在同一個循環中 – Heptic

+0

唯一的缺點是你可能處於一個緊挨着循環的cpu中。 – andre

相關問題