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

François Beaufort
François Beaufort

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

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

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

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

getCurrentTexture() ใน Canvas ที่ไม่ได้กำหนดค่าแสดงข้อผิดพลาด invalidStateError

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

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

การอัปเดต WGSL

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

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

ข้อมูลอัปเดตเกี่ยวกับ Dawn

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

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

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

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

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

รายการของทุกอย่างที่มีการพูดถึงในซีรีส์มีอะไรใหม่ใน WebGPU

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113