使用 Vulkan 處理圖形

Vulkan 是新型的跨平台 3D 圖形 API,旨在盡可能減少裝置圖形處理硬體與遊戲間的抽象化情形。雖說 Vulkan 是 Android 的主要低階圖形 API,可取代 OpenGL ES,但 Android 仍支援 OpenGL ES,只是我們不再積極開發相關功能。與 OpenGL ES 相較,Vulkan 具有下列優點:

  • 更有效率的架構,圖形驅動程式的 CPU 負擔較小
  • 全新的最佳化策略,可提升 CPU 效能
  • OpenGL ES 未提供的全新圖形處理功能,例如無繫結 API 和光線追蹤

Vulkan 適用於 Android 7 (API 級別 24) 以上版本。此外,凡是搭載 Android 10 (API 級別 29) 以上版本的 64 位元 Android 裝置,皆可支援 Vulkan 1.1。就目前使用中的 Android 裝置而言,有 85% 都支援 Vulkan。Android 基準設定檔會為支援 Vulkan 的裝置定義最低需求的功能組合。

Vulkan 有助於打造外觀與效能俱佳的遊戲,而且能夠完整發揮新型圖形處理硬體的潛力。在相容的裝置上,Vulkan 可供 Android UI 轉譯架構使用。Unity 和 Unreal 遊戲引擎的現行版本都選擇 Vulkan 做為相容 Android 裝置的預設轉譯器。ANGLE 專案也以 Vulkan 為基礎,導入與 OpenGL ES API 相容的實作項目。

開始使用

C/C++

如要瞭解如何在 Android 上的 C/C++ 遊戲引擎中使用 Vulkan,請參閱開始在 Android 上使用 Vulkan

此外,原生開發套件 (NDK) 說明文件中也有非遊戲開發人員適用的一般 Vulkan 章節,涵蓋下列主題:

遊戲引擎

關於 ANGLE

Vulkan 是 Android 與 GPU 之間的首選介面。Android 15 以上版本包含 ANGLE,可做為在 Vulkan 上執行 OpenGL ES 的選用層。改用 ANGLE 可將 Android OpenGL 實作項目標準化,進而改善相容性,在某些情況下還能提升效能。

使用下列兩個 ADB 指令為套件啟用 ANGLE,即可透過各種 Android 15 以上版本的裝置,使用 ANGLE 測試 OpenGL ES 應用程式的穩定性和效能。將「package-name」替換為要測試的套件。

adb shell settings put global angle_gl_driver_selection_pkgs package-name

adb shell settings put global angle_gl_driver_selection_values angle

這些設定會在裝置重新啟動後保留。如要停用 ANGLE,請使用下列指令:

adb shell settings delete global angle_gl_driver_selection_pkgs

adb shell settings delete global angle_gl_driver_selection_values

Android ANGLE on Vulkan 時程表

Android ANGLE on Vulkan 時程表

回報 ANGLE 問題

如果您在使用 ANGLE 時遇到任何問題,請透過問題追蹤工具向我們回報。