WebGPU (Chrome 114)의 새로운 기능

François Beaufort
François Beaufort

자바스크립트 최적화

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

다음 Microbenchmark는 자바스크립트 호출의 CPU 시간이 10K 그리기당 약 0.5ms에서 10K 그리기당 약 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 업데이트

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

  • vec2()vec2(0,0)입니다.
  • vec3()vec3(0,0,0)입니다.
  • vec4()vec4(0,0,0,0)입니다.

여명 업데이트

오류 메시지 개선

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

누락된 Node.js용 API 추가

이제 GPUAdapter::requestAdapterInfo()GPUBuffer::getMapState() 메서드가 Node.js용으로 구현되었습니다. Issue dawn: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