จำนวนฟีเจอร์ WebGPU อาจดูไม่ค่อยดีนักในช่วงนี้ แต่ความก้าวหน้าสำคัญๆ อยู่ใกล้แค่เอื้อม รุ่นต่อๆ ไปจะมีฟีเจอร์ต่างๆ เช่น DP4a, พื้นผิวพื้นที่เก็บข้อมูลแบบอ่านอย่างเดียวและแบบอ่านและเขียน การควบคุมการแสดงผลแบบลายฉลุและความลึกแบบแยกกัน การแสดงผลไปยังชิ้นส่วนพื้นผิว 3 มิติ และการปรับปรุงการคอมไพล์ตัวปรับแสงเงา
ในระหว่างนี้ ให้ดูวิธีเพิ่มประสิทธิภาพการทดสอบโมเดล Web AI ด้วยการรองรับ WebGPU และ WebGL ใน Chrome แบบ Headless และสาเหตุที่อาจปิดใช้ WebGPU หรือไม่ทำงานใน Chrome
ขยายการเข้าถึงด้วยโหมดความเข้ากันได้ (ฟีเจอร์อยู่ระหว่างการพัฒนา)
WebGPU สอดคล้องกับ API กราฟิกสมัยใหม่ (Vulkan, Metal และ D3D12) เป็นอย่างดี แต่อุปกรณ์บางชนิดขาดการรองรับ API ดังกล่าว ซึ่งจะจำกัดความสามารถเข้าถึงได้ง่ายของ WebGPU โดยเฉพาะในแพลตฟอร์มอย่าง Windows (31% ของผู้ใช้ Chrome ไม่มีเวอร์ชัน D3D11.1 ขึ้นไป) Android (23% ไม่มี Vulkan 1.1 ขึ้นไป) และ ChromeOS (มีการใช้งาน Vulkan มากขึ้น)
ทีม Chrome กำลังทำงานในโหมดความเข้ากันได้ใน WebGPU เพื่อจัดการกับปัญหานี้โดยการนำเสนอ WebGPU เวอร์ชันที่ถูกจำกัดเล็กน้อยซึ่งใช้งานได้กับ API รุ่นเก่า เช่น D3D11 และ OpenGL ES การดำเนินการนี้จะขยายฐานผู้ใช้ที่เป็นไปได้ของ WebGPU
ที่สำคัญ แอปพลิเคชันที่ใช้โหมดความเข้ากันได้ยังคงเป็นแอปพลิเคชัน WebGPU ที่ใช้งานได้อย่างสมบูรณ์ อุปกรณ์ที่ไม่รองรับโหมดความเข้ากันได้จะมีค่าเริ่มต้นเป็นอะแดปเตอร์ WebGPU หลักอย่างราบรื่น เพื่อให้ใช้งานได้อย่างกว้างขวาง
ดูข้อเสนอและความคิดเห็นหากคุณมีคำถาม
เพิ่มขีดจำกัด maxVertexAttributes
จำนวนแอตทริบิวต์รวมสูงสุดในบัฟเฟอร์เมื่อสร้าง GPURenderPipeline คือ 16 โดยค่าเริ่มต้น ตอนนี้คุณขอได้สูงสุด 30 รายการโดยใช้ขีดจํากัด maxVertexAttributes เมื่อรองรับ ดูตัวอย่างต่อไปนี้และปัญหารุ่งอรุณ:2223
const adapter = await navigator.gpu.requestAdapter();
if (adapter.limits.maxVertexAttributes < 30) {
// When the desired limit isn't supported, take action to either fall back to
// a code path that does not require the higher limit or notify the user that
// their device does not meet minimum requirements.
}
// Request highest limit of max vertex attributes.
const device = await adapter.requestDevice({
requiredLimits: { maxVertexAttributes: 30 },
});
ข้อมูลอัปเดตเกี่ยวกับ Dawn
มีการเพิ่มการสลับอินสแตนซ์ใหม่ที่เรียกว่า "expose_wgsl_experimental_features" เพื่อทำให้อินสแตนซ์แสดงเฉพาะฟีเจอร์ WGSL ทดลองเท่านั้น แต่ไม่แสดงฟีเจอร์ที่ไม่ปลอดภัย เพื่อให้ใช้ฟีเจอร์ WGSL ทดลองที่ปลอดภัยได้โดยไม่ต้องเปิดใช้ปุ่มเปิด/ปิด "allow_unsafe_apis" ดูปัญหารุ่งเช้า:2260
การปรับปรุงล่าสุดในการเชื่อมโยง Dawn สำหรับ Node.js มีดังนี้
- เพิ่ม
GPUSupportedFeatures::getSize()
แล้ว - ใช้การอัปเดตที่ไม่มีการอัปเดต
GPUAdapter
แล้ว - ขณะนี้มีการรายงาน
GPUInternalError
อย่างเหมาะสมสำหรับอุปกรณ์แล้ว - นับแอตทริบิวต์ได้แล้ว
ทั้งหมดนี้พูดถึงไฮไลต์สำคัญเพียงบางส่วน ดูรายการสัญญาผูกมัดอย่างละเอียด
มีอะไรใหม่ใน WebGPU
รายการของทุกอย่างที่มีการพูดถึงในซีรีส์มีอะไรใหม่ใน WebGPU
Chrome 125
Chrome 124
- พื้นผิวพื้นที่เก็บข้อมูลแบบอ่านอย่างเดียวและอ่านอย่างเดียว
- การสนับสนุน Service Worker และตัวช่วยแบบแชร์
- แอตทริบิวต์ข้อมูลอะแดปเตอร์ใหม่
- แก้ไขข้อบกพร่อง
- ข้อมูลอัปเดตยามเช้า
Chrome 123
- การรองรับฟังก์ชันในตัวของ DP4a ใน WGSL
- พารามิเตอร์ตัวชี้แบบไม่จำกัดใน WGSL
- น้ำตาลไวยากรณ์สำหรับการยกเลิกการอ้างอิงคอมโพสิตใน WGSL
- สถานะแบบอ่านอย่างเดียวสำหรับมุมมองที่เป็นลายฉลุและความลึก
- ข้อมูลอัปเดตยามเช้า
Chrome 122
- ขยายการเข้าถึงด้วยโหมดความเข้ากันได้ (ฟีเจอร์อยู่ระหว่างการพัฒนา)
- เพิ่มขีดจํากัด maxVertexAttributes
- ข้อมูลอัปเดตยามเช้า
Chrome 121
- รองรับ WebGPU ใน Android
- ใช้ DXC แทน FXC สำหรับการคอมไพล์ตัวปรับแสงเงาใน Windows
- การค้นหาการประทับเวลาในการประมวลผลและแสดงผลบัตร
- จุดแรกเข้าเริ่มต้นไปยังโมดูลตัวปรับแสงเงา
- รองรับ display-p3 เป็นพื้นที่สี GPUExternalTexture
- ข้อมูลฮีพของหน่วยความจำ
- ข้อมูลอัปเดตยามเช้า
Chrome 120
- รองรับค่าจุดลอยตัว 16 บิตใน WGSL
- ก้าวข้ามขีดจำกัด
- การเปลี่ยนแปลงสถานะของฉลุลายความลึก
- การอัปเดตข้อมูลอะแดปเตอร์
- การวัดปริมาณของการค้นหาการประทับเวลา
- ฟีเจอร์ทำความสะอาดฤดูใบไม้ผลิ
Chrome 119
- พื้นผิวแบบลอยแบบ 32 บิตที่กรองได้
- รูปแบบ Verm10-10-10-2
- รูปแบบพื้นผิวของ rgb10a2uint
- ข้อมูลอัปเดตยามเช้า
Chrome 118
- การรองรับ HTMLImageElement และ ImageData ใน
copyExternalImageToTexture()
- การสนับสนุนแบบทดลองสำหรับพื้นผิวพื้นที่เก็บข้อมูลแบบอ่านอย่างเดียวและอ่านอย่างเดียว
- ข้อมูลอัปเดตยามเช้า
Chrome 117
- ยกเลิกการตั้งค่าบัฟเฟอร์เวอร์เท็กซ์
- ยกเลิกการตั้งค่ากลุ่มการเชื่อมโยง
- ปิดเสียงข้อผิดพลาดจากการสร้างไปป์ไลน์แบบไม่พร้อมกันเมื่ออุปกรณ์สูญหาย
- การอัปเดตการสร้างโมดูลตัวปรับแสงเงา SPIR-V
- การปรับปรุงประสบการณ์ของนักพัฒนาซอฟต์แวร์
- การแคชไปป์ไลน์ด้วยเลย์เอาต์ที่สร้างขึ้นโดยอัตโนมัติ
- ข้อมูลอัปเดตยามเช้า
Chrome 116
- การผสานรวม WebCodecs
- อุปกรณ์ที่สูญหายได้รับคืนโดย GPUAdapter
requestDevice()
- เล่นวิดีโอได้ลื่นไหลแม้เรียกใช้
importExternalTexture()
- ความสอดคล้องของข้อกำหนด
- การปรับปรุงประสบการณ์ของนักพัฒนาซอฟต์แวร์
- ข้อมูลอัปเดตยามเช้า
Chrome 115
- ส่วนขยายภาษา WGSL ที่รองรับ
- การสนับสนุนแบบทดลองสำหรับ Direct3D 11
- รับ GPU แบบแยกกันโดยค่าเริ่มต้นเมื่อใช้ไฟ AC
- การปรับปรุงประสบการณ์ของนักพัฒนาซอฟต์แวร์
- ข้อมูลอัปเดตยามเช้า
Chrome 114
- เพิ่มประสิทธิภาพ JavaScript
- getCurrentTexture() ใน Canvas ที่ไม่ได้กำหนดค่าแสดงข้อผิดพลาด invalidStateError
- ข้อมูลอัปเดตเกี่ยวกับ WGSL
- ข้อมูลอัปเดตยามเช้า