Tổng quan về WebGPU

François Beaufort
François Beaufort

WebGPU là một API đồ hoạ trên web mang lại nhiều lợi ích đáng kể, chẳng hạn như giảm đáng kể khối lượng công việc JavaScript cho cùng một đồ hoạ và cải thiện hơn gấp 3 lần về thông tin suy luận về mô hình học máy. Điều này có thể thực hiện được nhờ khả năng lập trình GPU linh hoạt và quyền truy cập vào các tính năng nâng cao mà WebGL không cung cấp.

API này được thiết kế dành cho nền tảng web, có API JavaScript theo ngôn ngữ, tích hợp với các lời hứa, hỗ trợ nhập video và mang đến trải nghiệm tinh tế cho nhà phát triển với thông báo lỗi rõ ràng.

WebGPU là kết quả của nỗ lực cộng tác của Nhóm cộng đồng "GPU cho web" của W3C, bao gồm các đóng góp của các công ty lớn như Mozilla, Apple, Intel và Microsoft.

Hỗ trợ trình duyệt

Bản phát hành WebGPU đầu tiên này đã có trong Chrome 113, trên các thiết bị ChromeOS hỗ trợ Vulkan, thiết bị Windows có hỗ trợ Direct3D 12 và macOS. Chúng tôi sẽ sớm hỗ trợ Linux, Android và mở rộng hỗ trợ cho các nền tảng hiện có.

WebGPU đang trong quá trình phát triển cho FirefoxSafari, ngoài việc triển khai ban đầu trong Chrome.

Hỗ trợ thư viện

Nhiều thư viện WebGL được sử dụng rộng rãi đang trong quá trình triển khai tính năng hỗ trợ WebGPU hoặc đã triển khai. Điều này có nghĩa là việc sử dụng WebGPU có thể chỉ yêu cầu bạn thực hiện một thay đổi duy nhất.

  • Babylon.js hỗ trợ đầy đủ WebGPU.
  • PlayCanvas đã công bố hỗ trợ WebGPU ban đầu.
  • TensorFlow.js hỗ trợ phiên bản được tối ưu hoá cho WebGPU của hầu hết các toán tử.
  • Chúng tôi đang hỗ trợ WebGPU cho Three.js, hãy xem ví dụ.

Cả thư viện Dawn dành cho Chromium và thư viện wgpu dành cho Firefox đều có sẵn dưới dạng gói độc lập. Các lớp này mang lại khả năng di chuyển và các lớp tiện lợi tuyệt vời, giúp tóm tắt các API GPU của hệ điều hành. Việc sử dụng những thư viện này trong các ứng dụng gốc giúp bạn dễ dàng chuyển sang WASM thông qua EmscriptenRust web-sys.

Tài nguyên

WebGPU là một công nghệ quan trọng và bạn nên tham khảo các tài nguyên sau để tìm hiểu thêm: