跳轉到內容

超級任天堂程式設計/如何避免導致速度下降

來自華夏公益教科書,開放的書籍,開放的世界

以下是一些避免遊戲出現延遲的技術

  1. 使用直接頁面進行物件處理。對於大多數計算機系統,物件處理是透過將物件的變數複製到“本地”記憶體並從中複製來完成的,以便計算物件的下一個螢幕位置。另一方面,在 SNES 的 65816 上,直接頁面暫存器可以指向您想要的任何位置,因此您可以將其設定為指向物件的變數。不幸的是,由於此功能在許多 CPU 上不可用,因此大多數 SNES 程式設計師沒有使用它,而是進行了較慢的塊複製。
  2. 半展開迴圈。這些是每次重複執行兩次工作的迴圈。在迴圈中,CPU 使用一定數量的週期進行計數和跳轉。使用半展開迴圈,CPU 完成計數和跳轉所花費的時間只有一半。它幾乎與完全展開迴圈一樣有效,但工作量要少得多。
  3. 內聯子程式。如果在緊湊迴圈中呼叫了一個子程式,則可以透過將“jsr”替換為子程式程式碼的副本來提高效能。呼叫子程式需要 12 個週期:6 個用於跳轉,6 個用於返回。
華夏公益教科書