Android 支援 Vulkan,這是一種低負擔的跨平台 API,可用於製作高品質 3D 圖像。與 OpenGL ES (GLES) 類似,Vulkan 提供相關工具,可在應用程式中建立高品質的即時圖像。使用 Vulkan 的優點包括降低 CPU 負擔,以及支援 SPIR-V 二進位中介語言。
晶片系統 (SoC) 供應商 (例如 GPU 獨立硬體供應商 (IHV)) 可以為 Android 編寫 Vulkan 驅動程式。原始設備製造商 (OEM) 必須整合特定裝置的這些驅動程式。如要進一步瞭解 Vulkan 驅動程式如何與系統互動、如何安裝 GPU 專屬工具,以及 Android 專屬需求,請參閱「實作 Vulkan」。
應用程式開發人員可使用 Vulkan 建立應用程式,在 GPU 上執行指令,大幅減少負擔。相較於 EGL 和 GLES,Vulkan 也可更直接對應至目前圖形硬體的功能,盡量減少驅動程式錯誤,並縮短開發人員的測試時間。
如需 Vulkan 的一般資訊,請參閱「Vulkan 總覽」或資源清單。
Vulkan 元件
Vulkan 支援包括下列元件。
圖 1. Vulkan 元件
元件名稱 | 供應商 | 說明 |
---|---|---|
Vulkan 驗證層 | Android (在 NDK 中) | 開發 Vulkan 應用程式時使用的程式庫,可找出應用程式使用 Vulkan API 時的錯誤。發現 API 使用錯誤後,應移除這些程式庫。 |
Vulkan Runtime | Android | 原生程式庫 libvulkan.so ,提供原生 Vulkan API。Vulkan Runtime 的大部分功能都是由 GPU 供應商提供的驅動程式實作。Vulkan 執行階段會包裝驅動程式、提供 API 攔截功能 (適用於偵錯和其他開發人員工具),並管理驅動程式與平台依附元件之間的互動。 |
Vulkan 驅動程式 | SoC | 將 Vulkan API 對應至硬體專屬的 GPU 指令和互動,以及與核心圖形驅動程式的互動。 |
修改過的元件
BufferQueue 和 Gralloc 支援 Vulkan:
- BufferQueue:BufferQueue 和
ANativeWindow
介面中的其他列舉值和方法,可讓 Vulkan 執行階段透過ANativeWindow
連線至 BufferQueue。 - Gralloc。Gralloc 可透過選用介面,瞭解特定格式是否可用於特定生產者/消費者組合,而不需分配緩衝區。
如要進一步瞭解這些元件,請參閱「BufferQueue 和 gralloc」。如要瞭解 ANativeWindow
的詳細資料,請參閱「EGLSurfaces 和 OpenGL ES」。
資源
如要進一步瞭解 Vulkan,請參閱下列資源:
-
Vulkan 載入器 (
libvulkan.so
) 位於platform/frameworks/native/vulkan
。包含 Android 的 Vulkan 載入器,以及一些對平台開發人員有用的 Vulkan 相關工具。 - 導入 Vulkan。適用於為 Android 編寫 Vulkan 驅動程式的 GPU IHV,以及為特定裝置整合這些驅動程式的 OEM。這份文件說明 Vulkan 驅動程式如何與系統互動、如何安裝 GPU 專屬工具,以及 Android 專屬的實作需求。
- Vulkan 圖形 API 指南。內容包括如何開始在 Android 應用程式中使用 Vulkan、Android 的 Vulkan 設計指南平台、使用 Vulkan 的著色器編譯器,以及使用驗證層確保使用 Vulkan 應用程式的穩定性。
- Vulkan News。涵蓋活動、修補程式、教學課程,以及更多與 Vulkan 相關的新聞報導。