Google is testing the introduction of the WebGPU API to Chrome to improve its graphical processing capabilities using Metal on macOS, with beta 94 also shaking down a new WebCodecs API to assist with media processing.
Beta version 94 of Chrome offers a few updates that Google plans to introduce in future public release versions of the web browser for macOS, as well as other desktop platforms and Android. In the latest beta, the changes largely consist of systems to improve graphical processing, in two key ways.
The addition of a WebCodecs API introduces a "low-level codec API" to "better support emerging applications" that rely on fast video encoding and decoding. In one example, game streaming services could be assisted by such a system to maintain a low latency, without any increased or network CPU cost.
The WebCodecs API simplifies the process for programmers by providing ways to use any media components that are already included in the browser, in a lightweight manner. This includes video and audio encoders and decoders, handling raw video frames, and image decoders.
After completing its origin trial in Chome 93, WebCodecs is enabled by default in the beta.
WebGPU is another API, that is billed as the successor to WebGL and WebGL2 graphics APIs. The new API provides access to modern processing features like "GPU compute," along with being better and more predictable in terms of performance.
According to Google, WebGPU is an improvement as the previous APIs were designed for drawing images, but were only able to be repurposed for other computational tasks with "great effort."
Exposing Metal, Vulkan, and Direct3D 12, the API can use modern graphical capabilities for rendering and computation on a GPU. Benefits include separating resource management and work preparation, a pipeline state that functions similarly to OS APIs, and Biding groups to let graphics drivers perform preparations ahead of rendering tasks.
WebGPU is only starting its origin trial in Chrome 94, but Google hopes it will ship to users by Chrome 99.