WebGPU қолдауын алу үшін Firefox және Safari

Mozilla Firefox жүйесінде WebGPU API және WGSL (WebGPU Shading Language) қолдауын қосу туралы шешім қабылдады. Платформа үшін Windows WebGPU қолдауы Firefox 141 нұсқасында әдепкі бойынша 22 шілдеге жоспарланғандай қосылады. Содан кейін WebGPU қолдауын келесі айларда құрастыруларда қосу жоспарлануда: Linux и macOS, және платформаға арналған нұсқада біраз уақыттан кейін AndroidWebGPU қолмен қосу үшін about:config бетіндегі "dom.webgpu.enabled" және "gfx.webrender.all" параметрлерін пайдалануға болады.

Chrome жүйесінде WebGPU қолдауы әдепкі бойынша 113 жылдың мамырында шығарылған 2023 нұсқасында ұсынылды. Safari-де WebGPU қолдауы әдепкі бойынша осы күзде қосылады деп жоспарлануда (эксперименттік қолдау 2021 жылдың қарашасынан бастап қолжетімді). Firefox-та эксперименттік WebGPU қолдауы 2020 жылдан бері бар, бірақ әдепкі бойынша Firefox түнгі құрастыруларында ғана қосылған. Firefox WebGPU іске асыруы Rust тілінде жазылған және Direct3D 12, Vulkan, OpenGL және Metal графикасы API интерфейстерінің үстінде жұмыс істей алатын WGPU жоба кодына негізделген.

WebGPU GPU жағында операцияларды орындау үшін Vulkan, Metal және Direct3D 12-ге ұқсас API ұсынады. 3D графикасына қоса, WebGPU сонымен қатар GPU жағына есептеулерді түсіруге және шейдерлерді орындауға қатысты мүмкіндіктерді қамтиды. Концептуалды түрде WebGPU ескі WebGL спецификациясынан Vulkan графикалық API OpenGL-тен ерекшеленетіндей ерекшеленеді. Сонымен қатар, WebGPU белгілі бір графикалық API-ге негізделмеген, бірақ Vulkan, Metal және Direct3D нұсқаларында қолжетімді бірдей төмен деңгейлі примитивтерді пайдаланатын әмбебап қабат.

WebGPU JavaScript қолданбаларына командаларды GPU-ге ұйымдастыруды, өңдеуді және жіберуді басқаруға және байланысты ресурстарды, жадты, буферлерді, текстуралық нысандарды және құрастырылған графикалық шейдерлерді басқаруға мүмкіндік береді. Бұл тәсіл қосымша шығындарды азайту және GPU-мен жұмыс істеу тиімділігін арттыру арқылы графикалық қолданбалардың жоғары өнімділігін қамтамасыз етеді.

WebGPU көмегімен сіз Vulkan, Metal немесе Direct3D файлдарын тікелей пайдаланатын дербес бағдарламалармен қатар орындайтын платформа-агностикалық, күрделі 3D жобаларын жасай аласыз. WebGPU сонымен қатар WebAssembly компиляциясының арқасында жергілікті графикалық бағдарламаларды браузерлерде іске қосылатын пішінге тасымалдау үшін қосымша мүмкіндіктерді қамтамасыз етеді.

WebGPU негізгі мүмкіндіктері және WebGL айырмашылығы:

  • Ресурстарды бөлек басқару, дайындық жұмыстары және командаларды GPU-ға беру (WebGL-де барлығына бірден бір объект жауапты болды). Үш бөлек контекст берілген: текстуралар мен буферлер сияқты ресурстарды жасауға арналған GPUDevice; көрсету және есептеу кезеңдерін қоса, жеке командаларды кодтауға арналған GPUCommandEncoder; GPUCommandBuffer GPU іске қосу кезегіне өту үшін. Нәтижені бір немесе бірнеше кенеп элементтерімен байланысты аймақта көрсетуге немесе шығарусыз өңдеуге болады (мысалы, есептеу тапсырмаларын орындау кезінде). Кезеңдерді бөлу ресурс жасау және қамтамасыз ету операцияларын әртүрлі ағындарда іске қосылатын әртүрлі өңдегіштерге бөлуді жеңілдетеді.
  • Күйлерді өңдеуге басқаша көзқарас. WebGPU екі нысанды қамтамасыз етеді - GPURenderPipeline және GPUComputePipeline, олар әзірлеуші ​​алдын ала анықтаған әртүрлі күйлерді біріктіруге мүмкіндік береді, бұл браузерге шейдерлерді қайта құрастыру сияқты қосымша жұмыстарға ресурстарды ысырап етпеуге мүмкіндік береді. Қолдау көрсетілетін күйлерге мыналар жатады: шейдерлер, шыңдық буфер және атрибут орналасулары, жабысқақ топ орналасулары, араластыру, тереңдік және үлгілер, көрсетуден кейінгі шығыс пішімдері.
  • Вулканның ресурстарды топтау құралдары сияқты байланыстыратын үлгі. Ресурстарды топтарға топтау үшін WebGPU GPUBindGroup нысанын қамтамасыз етеді, ол пәрмендерді жазу кезінде шейдерлерде пайдалану үшін басқа ұқсас нысандармен байланыстырылуы мүмкін. Мұндай топтарды құру драйверге алдын ала қажетті дайындық әрекеттерін орындауға мүмкіндік береді және шолғышқа ұтыс қоңыраулары арасындағы ресурстарды байланыстыруды әлдеқайда жылдам өзгертуге мүмкіндік береді. Ресурс байланыстыруларының орналасуын GPUBindGroupLayout нысаны арқылы алдын ала анықтауға болады.

Ақпарат көзі: opennet.ru

DDoS қорғауы бар сайттар үшін сенімді хостинг, VPS VDS серверлерін сатып алыңыз 🔥 DDoS қорғанысы, VPS VDS серверлері бар сенімді веб-сайт хостингін сатып алыңыз | ProHoster