Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

效能

前言

Godot遵循平衡的表現理念. 在效率表現中, 總是有需要權衡交易的東西, 可用性和靈活性. 一些實際的範例是:

  • 有效地渲染大量的物體是很容易的, 但是當必須渲染一個大的場景時, 效率就會變得很低. 為了解決這個問題, 必須在渲染時加入可見性計算. 這使得渲染的效率降低, 但同時, 被渲染的對象也減少了. 因此, 整體的渲染效率得到了提高.

  • 為每個需要渲染的物件配置每個材質的屬性也很慢. 為了解決這個問題, 物體被按材質分類以減少成本. 同時, 排序也是有成本的.

  • 在3D物理中, 也有類似的情況發生. 處理大量物理物件的最佳演算法(如SAP)在插入/移除物件和射線傳輸方面都很慢. 允許更快的插入和移除以及射線傳輸的演算法, 將無法處理那麼多的活動物件.

而這樣的例子還有很多!遊戲引擎在本質上努力成為通用的. 平衡的演算法總是受到青睞, 而不是那些在某些情況下可能很快而在另一些情況下很慢的演算法, 或者那些快但更難使用的演算法.

Godot在這方面也不例外. 雖然它被設計成可以為不同的演算法交換後端, 但預設的後端將平衡和靈活性置於性能之上.

明確了這一點後, 本教學部分的目的是解釋如何從Godot中獲得最大的性能. 雖然這些教學可以按任何順序閱讀, 但最好從 通用選項 開始.

常見

CPU

GPU

3D

執行緒