Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Vulkan
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Android hỗ trợ Vulkan, một API nhiều nền tảng, mức hao tổn thấp dành cho đồ hoạ 3D hiệu suất cao. Giống như OpenGL ES (GLES), Vulkan cung cấp các công cụ để tạo đồ hoạ chất lượng cao, theo thời gian thực trong ứng dụng. Các ưu điểm của việc sử dụng Vulkan bao gồm giảm mức hao tổn CPU và hỗ trợ ngôn ngữ SPIR-V Binary Intermediate (Ngôn ngữ trung gian nhị phân SPIR-V).
Các nhà cung cấp hệ thống trên chip (SoC) như nhà cung cấp phần cứng độc lập GPU (IHV) có thể viết trình điều khiển Vulkan cho Android. Nhà sản xuất thiết bị gốc cần tích hợp các trình điều khiển này cho các thiết bị cụ thể. Để biết thông tin chi tiết về cách trình điều khiển Vulkan tương tác với hệ thống, cách cài đặt các công cụ dành riêng cho GPU và các yêu cầu dành riêng cho Android, hãy xem phần Triển khai Vulkan.
Nhà phát triển ứng dụng sử dụng Vulkan để tạo các ứng dụng thực thi lệnh trên GPU với mức hao tổn giảm đáng kể. Vulkan cũng cung cấp khả năng ánh xạ trực tiếp hơn đến các tính năng có trong phần cứng đồ hoạ hiện tại so với EGL và GLES, giảm thiểu khả năng xảy ra lỗi trình điều khiển và giảm thời gian kiểm thử của nhà phát triển.
Để biết thông tin chung về Vulkan, hãy tham khảo bài viết Tổng quan về Vulkan hoặc xem danh sách Tài nguyên.
Các thành phần Vulkan
Tính năng hỗ trợ Vulkan bao gồm các thành phần sau.

Hình 1. Thành phần Vulkan
Tên thành phần |
Nhà cung cấp |
Mô tả |
Lớp xác thực Vulkan |
Android (trong NDK) |
Các thư viện được dùng trong quá trình phát triển ứng dụng Vulkan để tìm lỗi trong việc ứng dụng sử dụng API Vulkan. Sau khi phát hiện lỗi sử dụng API, bạn nên xoá các thư viện này. |
Vulkan Runtime |
Android |
Thư viện gốc, libvulkan.so , cung cấp API Vulkan gốc.
Hầu hết chức năng của Vulkan Runtime đều do trình điều khiển do nhà cung cấp GPU cung cấp triển khai. Thời gian chạy Vulkan bao bọc trình điều khiển, cung cấp các tính năng chặn API (để gỡ lỗi và các công cụ khác dành cho nhà phát triển) và quản lý hoạt động tương tác giữa trình điều khiển và các phần phụ thuộc nền tảng. |
Trình điều khiển Vulkan |
SoC |
Ánh xạ API Vulkan vào các lệnh GPU và hoạt động tương tác dành riêng cho phần cứng với trình điều khiển đồ hoạ hạt nhân. |
Thành phần đã sửa đổi
BufferQueue và Gralloc hỗ trợ Vulkan:
- BufferQueue. Các giá trị và phương thức enum bổ sung trong BufferQueue và giao diện
ANativeWindow
cho phép Vulkan Runtime kết nối với BufferQueue thông qua ANativeWindow
.
- Gralloc. Một giao diện không bắt buộc cho phép Gralloc khám phá xem có thể sử dụng một định dạng nhất định cho một tổ hợp nhà sản xuất/người tiêu dùng cụ thể mà không cần phân bổ vùng đệm hay không.
Để biết thông tin chi tiết về các thành phần này, hãy xem nội dung BufferQueue và gralloc. Để biết thông tin chi tiết về ANativeWindow
, hãy xem bài viết EGLSurface và OpenGL ES).
Tài nguyên
Hãy sử dụng các tài nguyên sau đây để tìm hiểu thêm về Vulkan:
-
Trình tải Vulkan (
libvulkan.so
) tại
platform/frameworks/native/vulkan
. Chứa trình tải Vulkan của Android, cũng như một số công cụ liên quan đến Vulkan hữu ích cho các nhà phát triển nền tảng.
- Triển khai Vulkan.
Dành cho các IHV GPU viết trình điều khiển Vulkan cho Android và OEM tích hợp các trình điều khiển đó cho các thiết bị cụ thể. Tài liệu này mô tả cách trình điều khiển Vulkan tương tác với hệ thống, cách cài đặt các công cụ dành riêng cho GPU và các yêu cầu triển khai dành riêng cho Android.
- Hướng dẫn về API đồ hoạ Vulkan. Cung cấp thông tin về cách bắt đầu sử dụng Vulkan trong ứng dụng Android, nền tảng nguyên tắc thiết kế Vulkan của Android, cách sử dụng trình biên dịch chương trình đổ bóng của Vulkan và cách sử dụng các lớp xác thực để đảm bảo độ ổn định trong các ứng dụng sử dụng Vulkan.
- Tin tức về Vulkan. Cung cấp thông tin về các sự kiện, bản vá, hướng dẫn và các bài viết tin tức khác liên quan đến Vulkan.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],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."]]