Up to date

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

Validation layers

驗證層能夠讓開發者驗證應用程式是否正確使用了 Vulkan API。除錯建構和發行建構中均可啟用驗證層,包括匯出後的專案。

備註

啟用驗證層會對性能產生影響,因此,請只有在實際需要輸出來偵錯工具時才啟用。

Windows

安裝 Vulkan SDK https://vulkan.lunarg.com/sdk/home,其中包含驗證層作為其預設安裝的一部分。無需在安裝程式中啟用任何可選功能;安裝核心 Vulkan SDK 就足夠了。安裝 SDK 後無需重新啟動,但可能需要關閉並重新開啟目前終端。

安裝 Vulkan SDK 後,使用「--gpu-validation」:ref:命令列參數 <doc_command_line_tutorial> 執行 Godot。您也可以指定“--gpu-abort”,這將使 Godot 在驗證錯誤發生時立即退出。如果發生驗證錯誤,這可以防止您的系統凍結。

macOS

警告

官方 Godot macOS 版本**不**支援驗證層,因為這些層與 Vulkan SDK 靜態連結。必須改用動態連結。

實際上,這意味著在 macOS 上使用驗證層**需要**您使用使用“use_volk=yes” SCons 選項編譯的 Godot 版本。 為 macOS 進行編譯。如果在匯出的專案上測試驗證層,您必須重新編譯匯出範本並將其指定為專案的 macOS 匯出預設中的自訂匯出範本。

安裝 Vulkan SDK https://vulkan.lunarg.com/sdk/home,其中包含驗證層作為其預設安裝的一部分。無需在安裝程式中啟用任何可選功能;安裝核心 Vulkan SDK 就足夠了。安裝 SDK 後無需重新啟動,但可能需要關閉並重新開啟目前終端。

安裝 Vulkan SDK 後,執行使用「use_volk=yes」 SCons 選項編譯的 Godot 二進位。指定“--gpu-validation”命令列參數。您也可以指定“--gpu-abort”,這將使 Godot 在驗證錯誤發生時立即退出。如果發生驗證錯誤,這可以防止您的系統凍結。

Linux, *BSD

從您的發行版儲存庫安裝 Vulkan 驗證層:

vulkan-validation-layers

安裝驗證層後無需重新啟動,但可能需要關閉並重新開啟目前終端。

安裝軟體包後,使用“--gpu-validation”命令列參數 執行 Godot。您也可以指定“--gpu-abort”,這將使 Godot 在驗證錯誤發生時立即退出。如果發生驗證錯誤,這可以防止您的系統凍結。

Android

在 Android 上啟用驗證層後,開發人員可以在「adb logcat」輸出中看到錯誤和警告訊息。

iOS

JDK 9 或更新版本目前尚不支援。

Web

Web 平台**不**支援驗證層,因為那裡不支援 Vulkan。

啟用驗證層

從官方源碼建構驗證層

要建立 Android 庫,請按照「Khronos」儲存庫 <https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/master/BUILD.md#building-on-android>`__ 上的說明進行操作。成功建置後,庫將位於「Vulkan-ValidationLayers/build-android/libs」中。

複製庫

將函式庫從「Vulkan-ValidationLayers/build-android/libs」複製到「godot/platform/android/java/app/libs/debug/vulkan_validation_layers」。

在這裡的範例中的 Shell 歷史應該長這樣:

godot
|-- platform
    |-- android
        |-- java
            |-- app
                |-- libs
                    |-- debug
                        |-- vulkan_validation_layers
                            |-- arm64-v8a
                            |-- armeabi-v7a
                            |-- x86
                            |-- x86_64

如果子目錄「libs/debug/vulkan_validation_layers」不存在,請建立它。

為 Android 進行編譯

連結的驗證層會在 Android 偵錯版本中自動載入並啟用。您可以使用 Godot 的 doc_one-click_deploy 功能在啟用驗證層的情況下快速測試您的專案。