Thư viện WebGPU của Android Jetpack cung cấp các liên kết Kotlin theo cách tự nhiên cho tiêu chuẩn WebGPU, cho phép đồ hoạ 3D hiện đại, hiệu suất cao và khả năng tính toán trong các ứng dụng Android của bạn.
WebGPU là phiên bản kế nhiệm WebGL và là phiên bản kế thừa tinh thần của OpenGL, được xây dựng từ đầu để phản ánh cách hoạt động của GPU hiện đại và cho thấy các chức năng của GPU theo cách đa nền tảng, an toàn và tiện dụng.
Tại sao nên dùng WebGPU?
- Tính hữu dụng được tinh giản: Mặc dù Vulkan là API đồ hoạ chính cấp thấp trên Android. WebGPU cung cấp một API hiện đại, cấp cao hơn, dễ tiếp cận hơn và ít chi tiết hơn đáng kể khi sử dụng so với Vulkan.
- Xử lý hàng loạt và tuần tự hoá WebGPU ghi nhiều lệnh vào Vùng đệm lệnh, một phần trong thiết kế của WebGPU nhằm giảm thiểu sự rườm rà của giao thức. Điều này cũng giảm thiểu nhu cầu gọi các phương thức bên ngoài khi sử dụng các liên kết Kotlin.
- Hỗ trợ phổ quát: Bạn có thể chia sẻ trực tiếp mã chương trình đổ bóng WebGPU (WGSL) trên các bản triển khai WebGPU trên nhiều nền tảng, kể cả web.
- Điện toán được tối ưu hoá: Việc chia sẻ bộ nhớ đệm liền mạch, không cần sao chép giữa các tác vụ điện toán và đồ hoạ giúp nâng cao hiệu suất và đơn giản hoá quá trình phát triển so với các API cũ.
Đối tượng sử dụng thư viện này
Thư viện này được thiết kế để tạo các ứng dụng hiệu suất cao yêu cầu quyền truy cập trực tiếp vào GPU:
- Bộ lọc xử lý hình ảnh và video
- Trực quan hoá dữ liệu
- Suy luận bằng công nghệ học máy
- Trò chơi và mô phỏng
Không phải mục tiêu: Đây là một API đồ hoạ, không phải một công cụ phát triển trò chơi. Bạn chịu trách nhiệm quản lý vòng lặp kết xuất, ma trận camera và biểu đồ cảnh của riêng mình.
Các khái niệm cốt lõi về WebGPU
Việc hiểu rõ các đối tượng WebGPU cơ bản và cách chúng tương tác là điều cần thiết cho quá trình phát triển WebGPU.
Ý tưởng |
Nội dung mô tả |
Instance |
Điểm truy cập vào WebGPU, cấp quyền truy cập vào Bộ điều hợp và Nền tảng |
Adapter |
Biểu thị một GPU cụ thể trên thiết bị |
Thiết bị |
Kết nối logic của bạn với GPU nơi các tài nguyên được tạo |
Hàng đợi |
Cơ chế dùng để gửi lệnh đến GPU |
Mô-đun chương trình đổ bóng |
Mã GPU của bạn, được viết bằng Ngôn ngữ tạo bóng WebGPU (WGSL) |
Pipelines |
Các đối tượng mô tả toàn bộ trạng thái GPU (chương trình đổ bóng, kết hợp) cho một tác vụ |
Bind Groups |
Liên kết các vùng đệm dữ liệu (ví dụ: hoạ tiết) với chương trình đổ bóng |
Command Encoder |
Một đối tượng dùng để tạo một chuỗi các lệnh GPU thành một vùng đệm lệnh |