มีอะไรใหม่ใน WebGPU (Chrome 114)

François Beaufort
François Beaufort

เพิ่มประสิทธิภาพ JavaScript

ผู้มีส่วนร่วมของ Chromium ได้เพิ่มความเร็วในการทำงานของ WebGPU สำหรับเมธอด GPUComputePassEncoder, GPURenderPassEncoder และ GPUCommandEncoder โดยลดค่าใช้จ่ายในการเรียกจากโค้ดที่สร้างขึ้นในเครื่องมือ JavaScript V8 ไปยังตัวจัดการ C++ ในเครื่องมือการแสดงผล Blink ดู ปัญหา chromium:1417558

ไมโครเบนช์มาร์กต่อไปนี้แสดงเวลา CPU ของการเรียกจาก JavaScript ที่ลดลงจากประมาณ 0.5 มิลลิวินาทีต่อการวาด 10,000 ครั้งเป็นประมาณ 0.3 มิลลิวินาทีต่อการวาด 10,000 ครั้ง ซึ่งเป็นการปรับปรุง 40%

ภาพหน้าจอของกราฟการเปรียบเทียบเบราว์เซอร์ Chrome ที่แสดงการปรับปรุงการเรียกใช้ที่รวดเร็ว
กราฟเบนช์มาร์กของ Chrome ที่แสดงการปรับปรุงการเรียกที่รวดเร็ว (แหล่งที่มา)

getCurrentTexture() ใน Canvas ที่ไม่ได้กำหนดค่าจะแสดง InvalidStateError

ตอนนี้การเรียกเมธอด GPUCanvasContext getCurrentTexture() ใน Canvas ที่ไม่ได้กำหนดค่าจะแสดง InvalidStateError แทน OperationError ตามข้อกำหนดของ WebGPU ดู ปัญหา chromium:1424461

const context = document.querySelector("canvas").getContext("webgpu");
context.getCurrentTexture(); // Throws InvalidStateError

ข้อมูลอัปเดต WGSL

ตอนนี้สามารถเขียนเวกเตอร์ที่เติมด้วย 0 ของ AbstractInt เป็น vec2(), vec3() และ vec4() ได้แล้ว ดู ปัญหา tint:1892 เช่น

  • vec2() คือ vec2(0,0)
  • vec3() คือ vec3(0,0,0)
  • vec4() คือ vec4(0,0,0,0)

ข้อมูลอัปเดต Dawn

การปรับปรุงข้อความแสดงข้อผิดพลาด

ระบบจะไม่ทิ้งป้ายกำกับตัวอธิบายสำหรับออบเจ็กต์ที่ไม่ถูกต้องอีกต่อไปเพื่อให้คุณเห็นป้ายกำกับเหล่านั้นในข้อความแสดงข้อผิดพลาด ดูปัญหา dawn:1771

เพิ่ม API ที่ขาดหายไปสำหรับ Node.js

ตอนนี้เมธอด GPUAdapter::requestAdapterInfo() และ GPUBuffer::getMapState() ได้รับการติดตั้งใช้งานสำหรับ Node.js แล้ว ดู ปัญหา dawn:1761

มีอะไรใหม่ใน WebGPU

รายการทุกอย่างที่กล่าวถึงในซีรีส์มีอะไรใหม่ใน WebGPU

Chrome 147-148

Chrome 146

Chrome 145

Chrome 144

Chrome 143

Chrome 142

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