Tổng quan về WebGPU

François Beaufort
François Beaufort

Xuất bản: Ngày 20 tháng 7 năm 2023, Lần cập nhật gần đây nhất: Ngày 11 tháng 8 năm 2025

WebGPU là một API đồ hoạ 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 suy luận 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 chức 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 đặc trưng, tích hợp với các promise, hỗ trợ nhập video và mang lại trải nghiệm mượt mà 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 hợp tác giữa Nhóm cộng đồng "GPU cho web" của W3C, trong đó có sự đó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 ban đầu này có trong Chrome 113, trên các thiết bị ChromeOS có hỗ trợ Vulkan, các thiết bị Windows có hỗ trợ Direct3D 12 và macOS. Sau đó, Chrome 121 đã hỗ trợ Android trên các thiết bị chạy Android 12 trở lên, sử dụng GPU Qualcomm và ARM. Chúng tôi sẽ sớm hỗ trợ Linux và mở rộng phạm vi hỗ trợ cho các nền tảng hiện có.

WebGPU được phát hành trong Firefox 141 trên WindowsSafari 26, ngoài việc triển khai trong Chrome.

Để biết thông tin cập nhật mới nhất về trạng thái triển khai WebGPU, bạn có thể xem trang trạng thái triển khai gpuweb.

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 thông báo về việc hỗ trợ WebGPU ban đầu.
  • TensorFlow.js hỗ trợ các phiên bản được tối ưu hoá WebGPU của hầu hết các toán tử.
  • Three.js đang hỗ trợ WebGPU, hãy xem các ví dụ.

Cả thư viện Dawn cho Chromium và thư viện wgpu cho Firefox đều có sẵn dưới dạng gói độc lập. Chúng có tính di động cao và các lớp công thái học giúp trừu tượng hoá các API GPU của hệ điều hành. Việc sử dụng các 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: