Android hỗ trợ Vulkan, một API nhiều nền tảng có 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 các ứng dụng. Các ưu điểm khi sử dụng Vulkan bao gồm giảm mức hao tổn CPU và hỗ trợ 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 (IHV) của GPU 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 chi phí giảm đáng kể. Vulkan cũng cung cấp một ánh xạ trực tiếp hơn đến các chức năng có trong phần cứng đồ hoạ hiện tại so với EGL và GLES, giảm thiểu cơ hội 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
Hỗ trợ Vulkan bao gồm các thành phần sau.
Hình 1. Các thành phần Vulkan
Tên thành phần | Nhà cung cấp | Mô tả |
---|---|---|
Các 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 quá trình sử dụng API Vulkan của một ứng dụng. Sau khi phát hiện thấy lỗi sử dụng API, bạn nên xoá các thư viện này. |
Thời gian chạy Vulkan | Android | Một thư viện gốc, libvulkan.so , cung cấp một API Vulkan gốc.Hầu hết chức năng của Vulkan Runtime đều được triển khai bằng một trình điều khiển do nhà cung cấp GPU cung cấp. Vulkan Runtime bao bọc trình điều khiển, cung cấp các chức 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 của nền tảng. |
Trình điều khiển Vulkan | SoC | Ánh xạ API Vulkan lên các lệnh GPU dành riêng cho phần cứng và các hoạt động tương tác với trình điều khiển đồ hoạ của 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 Thời gian chạy Vulkan kết nối với BufferQueue thông quaANativeWindow
. - Gralloc. Một giao diện không bắt buộc cho phép Gralloc khám phá xem một định dạng nhất định có thể được dùng 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ổ bộ đệm hay không.
Để biết thông tin chi tiết về các thành phần này, hãy xem BufferQueue và gralloc. Để biết thông tin chi tiết về ANativeWindow
, hãy xem phần EGLSurface và OpenGL ES).
Tài nguyên
Hãy sử dụng các tài nguyên sau để tìm hiểu thêm về Vulkan:
-
Trình tải Vulkan (
libvulkan.so
) tạiplatform/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 nhà phát triển nền tảng. - Triển khai Vulkan. Dành cho các nhà cung cấp phần cứng độc lập (IHV) GPU viết trình điều khiển Vulkan cho Android và các nhà sản xuất thiết bị gốc (OEM) tích hợp những 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. Bao gồm thông tin về cách bắt đầu sử dụng Vulkan trong các ứ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.
- Vulkan News. Đề cập đến các sự kiện, bản vá, hướng dẫn và nhiều bài viết tin tức khác liên quan đến Vulkan.