Цхроме ће већ имати подршку за ВебГПУ и биће подразумевано омогућен

ВебГПУ Цхроме

Након година развоја, Цхроме тим објављује ВебГПУ

Пре неколико дана Гоогле представио преко једног објављеног подразумевана подршка за ВебГПУ графички АПИ и ВебГПУ језик за сенчење (ВГСЛ) у Цхроме 113 грани, који је заказан за пуштање у продају 2. маја.

За оне који не знају за ВебГПУ, то би требало да знате пружа АПИ сличан Вулкану, Металу и Дирецт3Д 12 за обављање операција на страни ГПУ-а као што су рендеровање и израчунавање, и такође омогућава коришћење језика схадера за писање програма на страни ГПУ-а.

О ВебГПУ

Концептуално, ВебГПУ се разликује од ВебГЛ-а на исти начин на који се Вулкан графички АПИ разликује од ОпенГЛ-а, али ВебГПУ није заснован на специфичном графичком АПИ-ју, већ је слој опште намене који користи исте примитиве ниског нивоа који се налазе у Вулкану. Метал и Дирецт3Д. ВебГПУ пружа ЈаваСцрипт апликације са контролом ниског нивоа над организацијом, обрада и пренос команди ГПУ-у, управљање повезаним ресурсима, меморијом, баферима, објектима текстуре и компајлираним графичким схадерима. Овај приступ вам омогућава да постигнете веће перформансе графичких апликација смањењем трошкова и повећањем ефикасности ГПУ-а.

ВебГПУ омогућава вам стварање сложених 3Д пројеката за веб који раде једнако добро као и самостални програми који директно користе Вулкан, Метал или Дирецт3Д, али нису везани за одређене платформе. Тхе ВебГПУ такође пружа додатне опције за пренос изворних графичких програма у образац за који је омогућен веб превођењем у ВебАссембли. Поред 3Д графике, ВебГПУ такође покрива могућности повезане са преношењем рачунања на ГПУ страну и покретањем шејдера.

Од кључних карактеристика ВебГПУ-а можемо истаћи следеће:

  • Одвојено управљање ресурсима, припремни рад и пренос команди на ГПУ (у ВебГЛ-у је један објекат био одговоран за све одједном). Обезбеђена су три одвојена контекста: ГПУДевице за креирање ресурса као што су текстуре и бафери; ГПУЦоммандЕнцодер за кодирање појединачних команди, укључујући фазе обраде и израчунавања; ГПУЦоммандБуффер за пролазак у ред за извршавање ГПУ-а.
    Резултат се може приказати у области која је повезана са једном или више ставки платна, или се може приказати без излаза (на пример, када се извршавају рачунски задаци). Стагинг олакшава одвајање операција креирања и обезбеђивања ресурса у различите контролере који могу да раде на различитим нитима.
  • Другачији приступ поступању са стањем. ВебГПУ обезбеђује два објекта, ГПУРендерПипелине и ГПУЦомпутеПипелине, који вам омогућавају да комбинујете различита стања унапред дефинисана од стране програмера, што омогућава претраживачу да не троши ресурсе на додатни рад, као што је поновно компајлирање сејдера. Подржана стања укључују: шејдере, бафере врхова и распореде атрибута, фиксне групне распореде, мешање, дубину и обрасце, излазне формате после рендеровања.
  • Модел везивања, сличан Вулкановим алатима за прикупљање ресурса. За груписање ресурса у групе, ВебГПУ обезбеђује ГПУБиндГроуп објекат који се може повезати са другим сличним објектима за употребу у схадерима током снимања команде.
    Креирање таквих група омогућава контролору да унапред изврши неопходне припремне радње и омогућава претраживачу да много брже мења везе ресурса између позива за цртање. Распоред везивања ресурса може се унапред дефинисати коришћењем ГПУбиндГроупЛаиоут објекта.

Поред Цхроме-а, експериментална подршка за ВебГПУ је тестирана од априла 2020. у Фирефоку а од новембра 2021. на Сафарију. Да бисте омогућили ВебГПУ у Фирефок-у, морате да поставите заставице дом.вебгпу.енаблед и гфк.вебгпу.форце-енаблед у абоут:цонфиг.

Још увек нема планова да се подразумевано омогући ВебГПУ у Фирефоку и Сафарију. ВебГПУ имплементације развијене за Фирефок и Цхроме доступне су као засебне библиотеке: Давн (Ц++) и вгпу (Руст) које можете да користите за интеграцију подршке за ВебГПУ у своје апликације.

Такође треба напоменути да је у току рад на додавању подршке за ВебГПУ популарним ЈаваСцрипт библиотекама које користе ВебГЛ. На пример, пуна подршка за ВебГПУ је већ декларисана у Бабилон.јс, а делимична у Тхрее.јс, ПлаиЦанвас и ТенсорФлов.јс.

Имплементација ВебГПУ ће у почетку бити омогућен само у верзијама за ЦхромеОС, мацОС и Виндовс, док ће за Линук и Андроид подршка за ВебГПУ бити активирана касније.

Коначно, ако сте заинтересовани да сазнате више о томе, можете се консултовати са детаљима У следећем линку.


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. Odgovorni za podatke: AB Internet Networks 2008 SL
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.