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 執行階段 | Android | 原生程式庫 libvulkan.so ,可提供原生 Vulkan API。Vulkan Runtime 的大部分功能都是由 GPU 供應商提供的驅動程式實作。Vulkan Runtime 會包裝驅動程式、提供 API 攔截功能 (用於偵錯和其他開發人員工具),以及管理驅動程式與平台依附元件之間的互動。 |
Vulkan 驅動程式 | SoC | 將 Vulkan API 對應至硬體專屬的 GPU 指令,並與核心圖形驅動程式互動。 |
已修改的元件
BufferQueue 和 Gralloc 支援 Vulkan:
- BufferQueue:BufferQueue 和
ANativeWindow
介面中的其他列舉值和方法,可讓 Vulkan 執行階段透過ANativeWindow
連線至 BufferQueue。 - Gralloc。透過選用介面,Gralloc 可找出特定格式是否可用於特定的產生者/消費者組合,而無須配置緩衝區。
如要進一步瞭解這些元件,請參閱「BufferQueue 和 gralloc」一文。如要進一步瞭解 ANativeWindow
,請參閱「EGLSurfaces 與 OpenGL ES」。
資源
請參閱下列資源,進一步瞭解 Vulkan:
-
platform/frameworks/native/vulkan
中的 Vulkan Loader (libvulkan.so
)。包含 Android 的 Vulkan 載入器,以及一些對平台開發人員有用的 Vulkan 相關工具。 - 實作 Vulkan。適用於為 Android 編寫 Vulkan 驅動程式的 GPU IHV,以及為特定裝置整合這些驅動程式的 OEM。說明 Vulkan 驅動程式如何與系統互動、如何安裝 GPU 專屬工具,以及 Android 專屬實作要求。
- Vulkan 圖形 API 指南。這份文件提供的資訊包括:如何開始在 Android 應用程式中使用 Vulkan、Android 的 Vulkan 設計指南平台、使用 Vulkan 的著色器編譯器,以及使用驗證層來確保使用 Vulkan 的應用程式穩定性。
- Vulkan 新聞。涵蓋事件、修補程式、教學課程,以及更多與 Vulkan 相關的新聞文章。