-4
我有一段小遊戲的代碼,並在某些時候我的代碼基本上「更新」我的所有對象。對於我的玩家來說,這包括檢查是否有任何移動鍵被按下,然後它應該停止玩家的「更新」功能並移動到下一個物體上。我發現它在播放器「更新」功能上非常慢。提高遊戲更新循環的性能?
基本上,如果我移動我的播放器,我的「全部更新」比它完全不移動時快得多。有沒有一種快速的方法可以讓我的播放器的虛擬「更新」在沒有滿足「if」條件的情況下變得更快(如同在,沒有移動鍵被按下)?
編輯:用C++
絕對沒有辦法說如何改進代碼而不看它(甚至不知道你正在談論哪種編程語言)。 – JJJ
有可能你的事件循環正在等待(阻塞)輸入。如果沒有工作要做,那麼這就是要走的路,而如果用一個幀計數器來衡量,那麼_slowness是虛幻的。如果每一幀都有工作,那麼輪詢可能是更好的選擇。 –
對不起,我使用C++,我沒有意識到這個論壇是爲多種語言。我現在沒有權限訪問我的代碼,但對於我的播放器,更新有四條if語句,一條用於檢查每個箭頭鍵。如果我按下一個箭頭並移動它會更快地完成更新,但如果我不這樣做會變得非常緩慢。我會認爲,如果沒有任何ifs是真的,它只是跳過我的無效更新,並應該移動到下一個對象,但顯然它不這樣工作。 – Xentro