WebGPU (Chrome 114)의 새로운 기능

François Beaufort
François Beaufort

JavaScript 최적화

Chromium 기여자는 생성된 코드에서 V8 JavaScript 엔진의 C++ 핸들러로 호출하는 오버헤드를 줄여 GPUComputePassEncoder, GPURenderPassEncoder, GPUCommandEncoder 메서드의 WebGPU 성능을 개선했습니다. 문제 chromium:1417558을 참고하세요.

다음 마이크로벤치마크는 JavaScript에서 호출되는 CPU 시간이 10,000회 그리기당 약 0.5ms에서 10,000회 그리기당 약 0.3ms로 감소하는 것을 보여줍니다. 이는 40% 개선된 것입니다.

빠른 호출 개선사항을 보여주는 Chrome 브라우저 벤치마크 그래프의 스크린샷
빠른 호출 개선사항을 보여주는 Chrome 벤치마크 그래프 (출처)

구성되지 않은 캔버스에서 getCurrentTexture()가 InvalidStateError를 발생시킴

이제 구성되지 않은 캔버스에서 GPUCanvasContext getCurrentTexture() 메서드를 호출하면 WebGPU 사양에 따라 OperationError 대신 InvalidStateError가 발생합니다. 문제 chromium:1424461을 참고하세요.

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

WGSL 업데이트

이제 AbstractInt의 0으로 채워진 벡터를 vec2(), vec3(), vec4()로 작성할 수 있습니다. 문제 tint:1892를 참고하세요. 예를 들면 다음과 같습니다.

  • vec2(): vec2(0,0)
  • vec3(): vec3(0,0,0)
  • vec4(): vec4(0,0,0,0)

새벽 업데이트

오류 메시지 개선

잘못된 객체의 설명자 라벨이 더 이상 삭제되지 않으므로 오류 메시지에서 확인할 수 있습니다. 문제 dawn:1771을 참고하세요.

Node.js의 누락된 API 추가

이제 Node.js에 GPUAdapter::requestAdapterInfo()GPUBuffer::getMapState() 메서드가 구현됩니다. 문제 dawn:1761을 참고하세요.

WebGPU의 새로운 기능

WebGPU의 새로운 기능 시리즈에서 다룬 모든 항목의 목록입니다.

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