Tính năng mới trong WebGPU (Chrome 141)

François Beaufort
François Beaufort

Ngày xuất bản: 24 tháng 9 năm 2025

Đã hoàn tất việc phủ màu bằng tia hồng ngoại

Một dự án kéo dài (hơn 2,5 năm) nhằm tăng hiệu suất của các thành phần bên trong của Tint, trình biên dịch WGSL đã hoàn tất. Một Biểu diễn trung gian (IR) đã được chèn vào phần phụ trợ giữa Cây cú pháp trừu tượng (AST) hiện tại và các trình tạo mã phụ trợ. Việc giới thiệu IR cho phép nhóm Chrome xoá tất cả các phép biến đổi AST và tạo lại chúng dưới dạng các phép biến đổi IR. Do có sự khác biệt về cấu trúc, các phép biến đổi này nhanh hơn đáng kể. Các thành phần bên trong của Tint trên một số nền tảng đã cải thiện tốc độ lên đến 7 lần nhờ những thay đổi này.

IR mới này mở ra tiềm năng đáng kể cho việc phân tích và chuyển đổi chương trình đổ bóng tinh vi trên quy mô lớn, hứa hẹn không chỉ mang lại hiệu suất đáng kể mà còn giúp Chrome dễ dàng cung cấp các tính năng WebGPU mới thú vị trong tương lai.

Kể từ cột mốc này, tất cả trình tạo mã phụ trợ đều hoạt động dựa trên biểu thị IR, mọi phép biến đổi AST đều đã bị xoá và mọi mã hỗ trợ AST để chạy các phép biến đổi đều đã bị xoá.

Trong quá trình cải thiện IR, giao diện người dùng SPIR-V (được các ứng dụng dùng để chuyển đổi SPIR-V sang WGSL) đã được chuyển đổi từ việc tạo một biểu thị AST sang tạo trực tiếp cho IR. Bản cải tiến này cũng giới thiệu các tính năng được chờ đợi từ lâu như hỗ trợ float 16 cho giao diện người dùng SPIR-V.

Phân tích phạm vi số nguyên trong trình biên dịch WGSL

Nhóm Chrome đang dần triển khai một quy trình phân tích phạm vi số nguyên mới cho Tint, trình biên dịch ngôn ngữ chương trình đổ bóng WebGPU. Phân tích phạm vi số nguyên ước tính giá trị tối thiểu và tối đa mà một biến số nguyên có thể nhận được trong quá trình thực thi chương trình mà không cần chạy chương trình thực tế.

Tính năng này nhằm mục đích cải thiện hiệu quả bằng cách giảm nhu cầu kiểm tra ranh giới tốn kém và sẽ sớm được bật theo mặc định trên tất cả các nền tảng. Xem vấn đề 348701956.

Bản cập nhật SPIR-V 1.4 cho phần phụ trợ Vulkan

Hỗ trợ SPIR-V 1.4 được triển khai ở những nơi có sẵn trên thiết bị Android và ChromeOS. Bản cập nhật này cho phép Tint (trình biên dịch WGSL) tận dụng các tính năng, quy tắc nới lỏng và hướng dẫn mới của SPIR-V để tạo mã hiệu quả hơn trong một số trường hợp khi biên dịch chương trình đổ bóng Vulkan. Xem vấn đề 427717267.

Thông tin cập nhật về bình minh

Tiêu đề webgpu.h được chuẩn hoá (xác định API C cốt lõi của WebGPU) hiện được coi là ổn định. Độ ổn định này áp dụng riêng cho API cốt lõi được xác định ở nguồn trên, không bao gồm các tiện ích triển khai (ví dụ: từ Dawn hoặc Emdawnwebgpu), vì vậy, tốt nhất là bạn nên sử dụng webgpu.h do chính việc triển khai mà bạn đang liên kết cung cấp. Mặc dù tiêu đề này ổn định, nhưng bạn vẫn có thể gặp phải những điểm khác biệt không mong muốn giữa các cách triển khai khi chúng tôi tiếp tục sửa lỗi và giải quyết vấn đề về khả năng tương thích trên toàn hệ sinh thái. Nếu có, hãy báo cáo lỗi.

Nhờ sự đóng góp của William Candillon, giờ đây, bạn có thể tìm thấy các tệp nhị phân Dawn được tạo sẵn dưới dạng các cấu phần phần mềm trên GitHub Actions. Những tệp này bao gồm các tệp .lib tĩnh cho Android, một gói .XCFramework cho Apple và tất cả các tệp tiêu đề cần thiết. Hãy xem Dawn PR #39ví dụ về các cấu phần phần mềm.

Đây chỉ là một số điểm nổi bật chính. Xem danh sách đầy đủ các cam kết.

Tính năng mới trong WebGPU

Danh sách mọi nội dung đã được đề cập trong loạt bài Có gì mới trong WebGPU.

Chrome 141

Chrome 140

Chrome 139

Chrome 138

Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

Chrome 132

Chrome 131

Chrome 130

Chrome 129

Chrome 128

Chrome 127

Chrome 126

Chrome 125

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113