Chrome będzie domyślnie obsługiwał interfejs WebGPU API — dlaczego to ma znaczenie — Ars Technica

Andrew Cunningham/Google

Google ogłoszono dzisiaj Począwszy od wersji 113, która jest obecnie w fazie beta, domyślnie włączy obsługę WebGPU w przeglądarce Chrome. Rozwijany od 2017 r. WebGPU to graficzny interfejs API nowej generacji, który ma na celu zapewnienie korzyści płynących z interfejsów API o niskim nakładzie, takich jak Direct3D 12 firmy Microsoft, Metal firmy Apple i Vulkan, w przeglądarkach internetowych i innych aplikacjach.

Obsługa WebGPU jest dostępna, ale jest teraz domyślnie wyłączona w Chrome, ponieważ interfejs API nie został sfinalizowany, a aktualizacja może się zepsuć. Google twierdzi, że Mozilla i Apple będą ostatecznie obsługiwać WebGPU w przeglądarkach Firefox i Safari, a przeglądarki takie jak Microsoft Edge i Opera, które opierają się na silniku przeglądarki Chromium, mogą zdecydować się na włączenie go, tak jak Google.

Chrome 113 obsługuje WebGPU w systemach Windows, macOS i ChromeOS, a „obsługa innych platform”, takich jak Linux i Android, pojawi się jeszcze w tym roku”. Ta wersja przeglądarki zostanie udostępniona wszystkim użytkownikom Chrome w maju.

Wsparcie w Chrome dla każdego nowego standardu, czy to nowego, czy zaktualizowanego API, formatu obrazu czy kodeka wideo, to duży impuls. Według danych StatCounter, Chrome odpowiada za około dwie trzecie udziału w rynku przeglądarek na całym świecie i prawie 80 procent całego udziału w rynku przeglądarek, jeśli liczyć inne przeglądarki oparte na Chromium. Gdy Safari i Firefox dodadzą obsługę, wszystkie przeglądarki internetowe na całym świecie będą mogły uruchamiać kod WebGPU, dlatego warto pokrótce wyjaśnić, czym jest WebGPU i dlaczego istnieje.

Co to jest WebGPU?

WebGPU jest swego rodzaju następcą WebGL, bardzo stary interfejs API, który umożliwia renderowanie grafiki opartej na OpenGL w przeglądarce bez potrzeby stosowania dodatkowych wtyczek innych firm, takich jak Adobe Flash. Chociaż rewolucyjny, gdy został ogłoszony w 2009 roku, WebGL cierpi na te same problemy, co obecnie OpenGL: nie wykorzystuje wszystkich funkcji obecnych procesorów graficznych, może tracić wydajność z powodu obciążenia sterowników oraz ma ograniczone i niewygodne wsparcie dla obciążeń obliczeniowych GPU.

READ  Ruşen Çakır napisał: Wielki wiec stambulski Sojuszu Ludowego w dziesięciu pytaniach

„WebGL służy głównie do rysowania obrazów, ale można go zmienić (z dużym wysiłkiem) w celu wykonywania innych rodzajów obliczeń, WebGPU zapewnia pierwszorzędne wsparcie dla wykonywania ogólnych obliczeń na GPU” — mówi. Szkic dokumentu wyjaśniającego, dlaczego istnieje WebGPU. Nowy interfejs API umożliwi lepszą grafikę w frameworkach takich jak Babylon.js i silnikach gier, takich jak Unity; obsługują obciążenia akcelerowane przez GPU, takie jak uczenie maszynowe i sztuczna inteligencja; A internetowe aplikacje fotograficzne i wideo (między innymi) mogą ułatwić korzystanie z akceleracji GPU, z której korzystają aplikacje natywne.

WebGPU jest rozwijany przez grupę roboczą Obejmuje członków Od firm takich jak Google, Microsoft, Apple, Mozilla, Intel i innych, interfejs API jest konsekwentnie zaprojektowany tak, aby był jak najbardziej kompatybilny. WebGPU nie jest bezpośrednią implementacją żadnego istniejącego interfejsu API grafiki, ale raczej własnym interfejsem API, który łączy się z Direct3D 12, Metal i Vulkan. Ten wyjaśniacz Surma, inżynier w Shopify i były Googler, dobrze to podsumowuje (podkreślenie nasze):

„Podczas gdy WebGL jest cienkim opakowaniem OpenGL, WebGPU wybrało inne podejście. Wprowadza własne abstrakcje i nie odzwierciedla bezpośrednio żadnego z tych natywnych interfejsów API. Dzieje się tak dlatego, że jeden interfejs API nie jest dostępny we wszystkich systemach, a wiele koncepcji (takich jak bardzo ograniczone zarządzanie pamięcią) nie jest charakterystycznych dla interfejsów API dostępnych w Internecie. Zamiast tego, WebGPU ma być zarówno „sieciowe”, jak i intuicyjne Siedzi wygodnie na natywnych graficznych interfejsach API, aby wydobyć ich wyjątkowość. Jest standaryzowany w W3C, a wszyscy główni dostawcy przeglądarek mają miejsce przy stole”.

Opłaca się to, ponieważ kod WebGPU jest bardziej przenośny – pisz kod WebGPU, a dopóki użytkownicy mają sprzęt i przeglądarkę, która go obsługuje, uzyskasz ten sam wynik na systemie Windows z Direct3D i telefonie z Androidem z Vulkan. I unika niektórych hacków, które sprawiają, że WebGL działa – na przykład WebGL w Windows i macOS nie używa bezpośrednio OpenGL, ale raczej tak zwanego interpretera. Kąt Konwertuje wywołania OpenGL API na wywołania API Direct3D i Metal. Dzięki WebGPU nie ma potrzeby rozpoczynania osobnego projektu, aby napisać o powolnej lub źle utrzymanej implementacji OpenGL.

READ  31 członków Frontu Patriotycznego zostało aresztowanych w pobliżu dumnego wydarzenia w Idaho

WebGPU ma również własny język cieniowania (WGSL), który zespół Chrome nadal obsługuje – dzisiejsze ogłoszenie mówi, że Google „planuje zapewnić głębszy dostęp do rdzeni cieniujących” za pośrednictwem WGSL w przyszłej wersji. Podobnie jak reszta interfejsu API WebGPU, WGSL jest niezależny od platformy i można go łatwo przetłumaczyć na preferowany język modułu cieniującego niezależnie od używanego systemu operacyjnego.

Wreszcie, pomimo słowa „sieć” w nazwie, interfejs API WebGPU nie ogranicza się do przeglądarek. The projekt wgpu to wersja WebGPU dla Rust, która umożliwia pisanie i uruchamianie aplikacji WebGPU poza przeglądarkami internetowymi.

Jeśli chcesz teraz poeksperymentować z WebGPU, dostępna jest wersja beta przeglądarki Chrome 113 Tutaj. Istnieje repozytorium GitHub z przykładami kodu TutajIstnieją oficjalne dokumenty dotyczące obu WebGPU I WGSL.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *