使用引擎編譯配置編輯器
Godot 內建了大量功能。雖然相當便利,但也意味著二進位檔體積可能較大,特別是對只使用少部分功能的專案而言。
為了縮小二進位體積,可以編譯自訂的匯出範本並停用特定功能;詳情見 最佳化建置檔案大小。然而決定要停用哪些功能可能相當繁瑣。引擎編譯配置編輯器提供一個介面,讓你更輕鬆地檢視與管理這些功能,並能偵測專案目前實際使用到的功能。
透過 ,你可以為專案建立並管理建置設定檔。
接下來你有兩種方式可以進行:
瀏覽清單並手動取消勾選不需要的功能。
使用 按鈕可自動偵測專案目前使用的功能,並停用未使用的功能。請注意,這會覆蓋現有的功能清單,因此如果你曾手動取消勾選某些項目,它們的狀態會依據專案是否實際使用該功能而被重設。
開啟引擎編譯設定編輯器
按下 後會開始執行專案偵測步驟。所需時間視專案規模可能從數秒到數分鐘不等。偵測完成後,你會看到更新過的功能清單,其中部分功能已被停用:
使用功能偵測後更新的功能清單(以 3D 橫向平台範例為例)
警告
在此對話框中取消勾選功能不會在匯出時直接減少二進位大小。實際移除二進位中的功能只能在編譯時進行,因此你仍需使用指定的建置設定檔來編譯自訂匯出樣板,才能實際受惠於引擎編譯設定編輯器。
你可以點擊頂端的 Save As 來儲存建置設定檔。建置設定檔可以儲存到任意位置,但建議將其放在專案資料夾中並加入版本控制,以便日後需要時能回溯。此外也能透過版本控制來追蹤建置設定檔的變更。
建置設定檔是一個 JSON 檔(副檔名為 .gdbuild),在上述範例的偵測後會長得像這樣:
{
"disabled_build_options": {
"disable_navigation_3d": true,
"disable_xr": true,
"module_godot_physics_3d_enabled": false,
"module_msdfgen_enabled": false,
"module_openxr_enabled": false
},
"disabled_classes": [
"AESContext",
...
"ZIPReader"
],
"type": "build_profile"
}
在 compiling 匯出樣板時,可以將此檔案作為 SCons 選項傳入:
scons target=template_release build_profile=/path/to/profile.gdbuild
建置系統會依此停用未使用的類別,從而縮減二進位大小。
限制
功能仰賴讀取專案的場景與腳本。於以下情況將無法偵測到所使用的功能:
在執行時期以程式動態產生並執行的 GDScript 中所使用的功能。
在 expressions 中所使用的功能。
在 GDExtensions 中所使用的功能;除非語言綁定允許定義所使用的類別,且擴充有利用該功能。詳情請見 GH-104129。
在 external PCKs loaded at runtime 中所使用的功能。
可能仍存在某些邊緣情境。如不確定,請於 GitHub 開單,並附上最小重現專案。
也參考
你還可以透過傳遞其他可縮小二進位大小的選項來進一步減少體積。更多資訊請參考 最佳化建置檔案大小。