Chrome 113은 현대적이고 오버헤드가 적은 웹용 그래픽 API인 WebGPU를 활성화합니다.
Google은 오늘 현재 베타 버전인 버전 113부터 기본 Chrome 브라우저에서 WebGPU 지원을 활성화할 것이라고 발표했습니다. 2017년부터 개발 중인 WebGPU는 웹 브라우저 및 기타 애플리케이션에서 Microsoft Direct3D 12, Apple Metal 및 Vulkan과 같은 낮은 오버헤드 API를 활용하는 것을 목표로 하는 차세대 그래픽 API입니다.
WebGPU 지원은 한동안 사용할 수 있었지만 API가 완료되지 않았고 업데이트마다 문제가 발생할 수 있기 때문에 Chrome에서 기본적으로 비활성화되어 있습니다. 구글은 모질라와 애플이 궁극적으로 파이어폭스와 사파리에서 WebGPU를 지원할 것이며, 크로미움 브라우저 엔진에 의존하는 마이크로소프트 엣지와 오페라 같은 브라우저는 구글이 그랬던 것처럼 그것을 가능하게 할 수 있을 것이라고 말한다.
Chrome 113은 처음부터 Windows, macOS 및 ChromeOS에서 WebGPU를 지원하고 Linux 및 Android와 같은 “다른 플랫폼에 대한 지원”은 “올해 말에 제공될 것”입니다. 이 버전의 브라우저는 5월에 모든 Chrome 사용자에게 제공될 예정입니다.
Chrome의 지원은 새 표준이든 업데이트된 API든, 이미지 형식이든, 비디오 코덱이든 관계없이 모든 새로운 표준에 대한 큰 진전입니다. StatCounter에 따르면 Chrome 자체는 전 세계 브라우저 시장 점유율의 약 2/3를 차지하고 다른 Chromium 기반 브라우저를 포함하면 전체 브라우저 시장 점유율의 거의 80%를 차지합니다. Safari와 Firefox가 지원을 추가하면 전 세계 거의 모든 웹 브라우저에서 WebGPU 코드를 실행할 수 있으므로 WebGPU가 무엇이며 왜 존재하는지 간단히 설명할 가치가 있습니다.
웹 GPU란?
WebGPU 는 Adobe Flash와 같은 추가 타사 플러그인 없이 브라우저에 OpenGL 기반 그래픽을 표시할 수 있는 훨씬 오래된 API인 WebGL 의 후속 제품입니다 . WebGL은 2009년에 발표되었을 때 혁신적이었지만 현재 OpenGL과 동일한 많은 문제를 겪고 있습니다. 최신 GPU를 최대한 활용하지 못하고 드라이버 오버헤드로 인해 성능이 저하될 수 있으며 기회가 제한되어 있습니다. GPU 컴퓨팅 부하에 대한 투박한 지원.
“WebGL은 주로 이미지 그리기용으로 설계되었지만 다른 종류의 계산을 수행하기 위해 (더 많은 노력을 기울이면) 용도를 변경할 수 있지만 WebGPU는 GPU에서 일반 계산을 수행하는 데 최고 수준의 지원을 제공합니다.”라고 WebGPU 가 있는 이유를 설명하는 초안 문서를 읽습니다. . 새로운 API는 Babylon.js와 같은 환경과 Unity와 같은 게임 엔진에서 그래픽을 개선합니다. 기계 학습 및 인공 지능에 사용되는 것과 같은 GPU 가속 워크로드를 지원합니다. 사진 및 비디오 웹 앱(다른 것들 중에서)이 네이티브 앱이 혜택을 받는 GPU 가속을 더 쉽게 활용할 수 있습니다.
WebGPU는 Google, Microsoft, Apple, Mozilla, Intel 및 기타 여러 회사 의 대표를 포함하는 작업 그룹에서 개발 중이며 결과적으로 API는 가능한 한 널리 호환되도록 설계되었습니다. WebGPU는 기존 그래픽 API를 직접 구현한 것이 아니라 Direct3D 12, Metal 및 Vulkan을 기반으로 상호 작용하는 네이티브 API입니다. Shopify 엔지니어이자 전 Google 직원인 Surma의 이 설명자는 다음과 같이 멋지게 요약합니다(강조).
“WebGL은 OpenGL을 둘러싼 얇은 래퍼에 불과하지만 WebGPU는 다른 접근 방식을 취했습니다. 자체 추상화를 도입하고 이러한 기본 API를 직접 반영하지 않습니다. 부분적으로는 모든 시스템에서 단일 API를 사용할 수 없기 때문이기도 하지만 많은 개념(예: 매우 낮은 수준의 메모리 관리)이 Web API에 관용적이지 않기 때문이기도 합니다. 대신, WebGPU는 “웹과 같은” 느낌을 주도록 설계되었으며 고유한 그래픽 API의 특이성을 추상화하여 모든 기본 그래픽 API 위에 편리하게 배치됩니다. 이는 W3C에서 표준화되었으며 모든 주요 브라우저 공급업체가 테이블 주위에 앉아 있습니다.”
이것은 WebGPU 코드의 이식성이 매우 높다는 장점이 있습니다. WebGPU 코드를 작성하고 사용자가 이를 지원하는 하드웨어와 브라우저를 가지고 있는 한 Direct3D가 있는 Windows 시스템과 Vulkan이 있는 Android 휴대폰에서 동일한 결과를 얻을 수 있습니다. 또한 WebGL 작동을 유지하는 몇 가지 핵을 방지합니다. 예를 들어 Windows 및 macOS의 WebGL은 OpenGL을 직접 사용하지 않고 대신 OpenGL API 호출을 Direct3D 및 Metal API 호출로 변환하는 ANGLE이라는 변환기를 사용합니다. WebGPU를 사용하면 느리거나 제대로 유지 관리되지 않는 OpenGL 구현을 작성하기 위해 완전히 별도의 프로젝트를 시작할 필요가 없습니다.
WebGPU에는 또한 자체 셰이더 언어(WGSL)가 있으며 Chrome 팀은 여전히 이를 지원하기 위해 노력하고 있습니다. 오늘 발표에 따르면 Google은 향후 릴리스에서 WGSL을 통해 “쉐이더 코어에 대한 더 깊은 액세스를 제공할 계획”이라고 합니다. 나머지 WebGPU API와 마찬가지로 WGSL은 플랫폼 독립적이며 사용하는 운영 체제에 관계없이 선호하는 셰이더 언어로 쉽게 변환됩니다.
마지막으로 이름에 “네트워크”라는 단어가 있지만 WebGPU API는 브라우저에만 국한되지 않습니다. wgpu 프로젝트는 WebGPU 응용 프로그램을 작성하고 웹 브라우저 외부에서 실행할 수 있게 해주는 Rust의 WebGPU 버전입니다.
지금 WebGPU를 실험하고 싶다면 여기에서 Chrome 113 베타를 사용할 수 있습니다 . 코드 샘플이 포함된 GitHub 리포지토리는 여기에서 사용할 수 있으며 WebGPU 및 WGSL 모두에 대한 공식 문서가 있습니다 .
답글 남기기