自 2025 年 3 月 27 日起,我們建議您使用 android-latest-release
而非 aosp-main
建構及貢獻 AOSP。詳情請參閱「Android 開放原始碼計畫變更」。
Vulkan
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
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 執行階段的大部分功能都是由 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 相關的新聞文章。
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-07-27 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-07-27 (世界標準時間)。"],[],[],null,["# Vulkan\n\nAndroid supports\n[Vulkan](https://www.khronos.org/vulkan/), a\nlow-overhead, cross-platform API for high-performance 3D graphics. Like\n[OpenGL ES (GLES)](https://www.khronos.org/opengles/),\nVulkan provides tools for creating high-quality, real-time graphics\nin apps. Advantages of using Vulkan include reductions in CPU overhead and\nsupport for the [SPIR-V\nBinary Intermediate](https://www.khronos.org/spir) language.\n\nSystem on chip vendors (SoCs) such as GPU independent hardware vendors (IHVs)\ncan write Vulkan drivers for Android. OEMs need to integrate these\ndrivers for specific devices. For details on how a Vulkan driver interacts with\nthe system, how GPU-specific tools should be installed, and Android-specific\nrequirements, see [Implementing\nVulkan.](/docs/core/graphics/implement-vulkan)\n\nApplication developers use Vulkan to create apps that\nexecute commands on the GPU with significantly reduced overhead. Vulkan also\nprovides a more direct mapping to the capabilities found in current graphics\nhardware compared to [EGL](https://www.khronos.org/egl) and GLES,\nminimizing opportunities for driver bugs and reducing developer testing time.\n\nFor general information on Vulkan, refer to the\n[Vulkan\nOverview](http://khr.io/vulkanlaunchoverview) or see the list of [Resources](#resources).\n\nVulkan components\n-----------------\n\nVulkan support includes the following components.\n\n**Figure 1.** Vulkan components\n\n| Component name | Provider | Description |\n|--------------------------|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Vulkan Validation Layers | Android (in the NDK) | Libraries used during the development of Vulkan apps to find errors in an app's use of the Vulkan API. After API usage errors are found, these libraries should be removed. |\n| Vulkan Runtime | Android | A native library, `libvulkan.so`, that provides a native Vulkan API. Most of Vulkan Runtime's functionality is implemented by a driver provided by the GPU vendor. Vulkan Runtime wraps the driver, provides API interception capabilities (for debugging and other developer tools), and manages the interaction between the driver and the platform dependencies. |\n| Vulkan Driver | SoC | Maps the Vulkan API onto hardware-specific GPU commands and interactions with the kernel graphics driver. |\n\nModified components\n-------------------\n\nBufferQueue and Gralloc support Vulkan:\n\n- **BufferQueue.** Additional enum values and methods in BufferQueue and the `ANativeWindow` interface enable Vulkan Runtime to connect to BufferQueue through `ANativeWindow`.\n- **Gralloc.** An optional interface lets Gralloc discover whether a given format can be used for a particular producer/consumer combination without allocating a buffer.\n\nFor details on these components, see\n[BufferQueue and\ngralloc](/docs/core/graphics/arch-bq-gralloc). For details on `ANativeWindow`, see\n[EGLSurfaces and OpenGL\nES](/docs/core/graphics/arch-egl-opengl)).\n\nResources\n---------\n\nUse the following resources to learn more about Vulkan:\n\n- [Vulkan Loader](https://android.googlesource.com/platform/frameworks/native/+/android16-release/vulkan/#) (`libvulkan.so`) at `platform/frameworks/native/vulkan`. Contains Android's Vulkan loader, as well as some Vulkan-related tools useful to platform developers.\n- [Implementing Vulkan](/docs/core/graphics/implement-vulkan). Intended for GPU IHVs writing Vulkan drivers for Android and OEMs integrating those drivers for specific devices. It describes how a Vulkan driver interacts with the system, how GPU-specific tools should be installed, and Android-specific implementation requirements.\n- [Vulkan Graphics API Guide](https://developer.android.com/ndk/guides/graphics/index.html). Includes information on getting started with using Vulkan in Android apps, Android's Vulkan design guidelines platform, using Vulkan's shader compilers, and using validation layers to help ensure stability in apps using Vulkan.\n- [Vulkan News](https://www.khronos.org/#slider_vulkan). Covers events, patches, tutorials, and more Vulkan-related news articles."]]