{"id":79172,"date":"2020-04-25T01:42:03","date_gmt":"2020-04-24T23:42:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu"},"modified":"2020-04-25T01:42:03","modified_gmt":"2020-04-24T23:42:03","slug":"v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","title":{"rendered":"U no\u0107ne verzije Firefoxa dodana podr\u0161ka za WebGPU","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>U <noindex><a rel=\"nofollow\" href=\"https:\/\/nightly.mozilla.org\/\">no\u0107nih<\/a><\/noindex> buildovima Firefox-a <noindex><a rel=\"nofollow\" href=\"https:\/\/hacks.mozilla.org\/2020\/04\/experimental-webgpu-in-firefox\/\">dodana je<\/a><\/noindex> podr\u0161ka za specifikaciju <noindex><a rel=\"nofollow\" href=\"https:\/\/webgpu.io\/\">WebGPU<\/a><\/noindex>, koji pru\u017ea programski interfejs za obradu 3D grafike i prora\u010dune na strani GPU-a, konceptualno sli\u010dan API-ju <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52194\">Vulkan<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=39913\">Metal<\/a><\/noindex> i <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Direct3D#Direct3D_12\">Direct3D 12<\/a><\/noindex>. Specifikacija se razvija uz podr\u0161ku Mozille, Google-a, Apple-a, Microsoft-a i predstavnika zajednice u <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/community\/gpu\/\">radnoj grupi<\/a><\/noindex>, formiranoj unutar organizacije W3C. <\/p>\n<p>Klju\u010dni zadatak WebGPU-a je kreiranje sigurnog, prakti\u010dnog, prenosivog i visoko performatnog programskog interfejsa za kori\u0161\u0107enje na Web platformama, koji koristi tehnologije i mogu\u0107nosti 3D grafike koje pru\u017eaju savremeni sistemski grafi\u010dki API-ji, kao \u0161to su Direct3D 12 u Windows-u, Metal u macOS-u i Vulkan u Linux-u. Konceptualno, WebGPU se razlikuje od WebGL-a otprilike na isti na\u010din na koji se Vulkan razlikuje od OpenGL-a, a ne oslanja se na konkretni grafi\u010dki API, ve\u0107 predstavlja univerzalni sloj, koji uop\u0161teno koristi iste niskolevelske primitive koje imaju Vulkan, Metal i Direct3D. <\/p>\n<p>WebGPU omogu\u0107ava JavaScript aplikacijama da imaju bolju kontrolu nad organizacijom, obradom i prenosom komandi ka GPU-u, upravljanjem povezanim resursima, memorijom, baferima, objektima tekstura i kompajliranim grafi\u010dkim \u0161ejderima. Ovaj pristup omogu\u0107ava postizanje vi\u0161ih performansi grafi\u010dkih aplikacija smanjenjem tro\u0161kova i pove\u0107anjem efikasnosti rada s GPU-om. <\/p>\n<p>WebGPU omogu\u0107ava kreiranje potpunih slo\u017eenih 3D projekata za web koji rade jednako dobro kao samostalne aplikacije koje direktno komuniciraju s Vulkan-om, Metal-om ili Direct3D-om, ali nisu vezane za konkretne platforme. WebGPU tako\u0111e pru\u017ea dodatne mogu\u0107nosti prilikom portovanja nativnih grafi\u010dkih programa u oblik koji mo\u017ee raditi na osnovu web tehnologija, zahvaljuju\u0107i upotrebi WebAssembly tehnologije. Pored 3D grafike, WebGPU obuhvata i mogu\u0107nosti povezane s izvo\u0111enjem prora\u010duna na strani GPU-a i podr\u0161ku za razvoj \u0161ejdera. \u0160ejderi <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/naga\">mogu<\/a><\/noindex> mogu se kreirati na jeziku WebGPU Shading Language ili zadavati u me\u0111ufaznom formatu SPIR-V, koji se zatim prevodi u jezike \u0161ejdera podr\u017eane trenutnim drajverima.<\/p>\n<p>U WebGPU se primenjuje odvojeno upravljanje resursima, pripremnim radovima i prenosom komandi u GPU (u WebGL-u jedan objekat je odgovarao za sve). Dostupna su tri odvojena konteksta:<br \/>\n    GPUDevice za kreiranje resursa kao \u0161to su teksture i baferi; GPUCommandEncoder za kodiranje pojedina\u010dnih komandi, uklju\u010duju\u0107i faze renderiranja i izra\u010duna; GPUCommandBuffer za stavljanje u red za izvr\u0161avanje na GPU-u. Rezultat se mo\u017ee prikazati u okviru povezanom s jednim ili vi\u0161e elemenata canvas, ili obraditi bez prikazivanja (na primjer, tokom izvo\u0111enja ra\u010dunalnih zadataka). Razdvajanje faza pojednostavljuje raspodjelu kreiranja resursa i pripremnih operacija na razli\u010dite rukovatelje koji se mogu izvr\u0161avati u razli\u010ditim nitima.<\/p>\n<p>Druga razlika izme\u0111u WebGPU-a i WebGL-a je druga\u010diji pristup obradi stanja. WebGPU nudi dva objekta \u2014 GPURenderPipeline i GPUComputePipeline, koji omogu\u0107uju kombiniranje razli\u010ditih stanja, unaprijed definiranih od strane programera, \u0161to omogu\u0107ava preglednicima da ne tro\u0161e resurse na obavljanje dodatnog posla, poput ponovne kompilacije \u0161aderas. Me\u0111u podr\u017eanim stanjima nalaze se: \u0161aderi, rasporedi vertex buffer-a i atributa, rasporedi prilijepljenih grupa, mije\u0161anje, dubina i uzorci, formati izlaza nakon renderiranja.<\/p>\n<p>Tre\u0107a karakteristika WebGPU-a je model povezivanja, koji u velikoj mjeri<br \/>\npodsje\u0107a na alate za grupisanje resursa prisutne u Vulkan-u.<br \/>\nZa grupisanje resursa u WebGPU dostupan je objekt GPUBindGroup, koji se tokom zapisivanja komandi mo\u017ee povezati s drugim sli\u010dnim objektima za kori\u0161tenje u \u0161ejderima. Kreiranje takvih grupa omogu\u0107ava drajveru da unaprijed izvr\u0161i potrebne pripremne korake, dok pregledniku omogu\u0107ava zna\u010dajno br\u017eu promjenu veza resursa izme\u0111u poziva za renderiranje. Raspored veza resursa mo\u017ee se unaprijed definirati pomo\u0107u objekta GPUBindGroupLayout.<\/p>\n<p><center><img decoding=\"async\" alt=\"U no\u0107ne verzije Firefoxa dodana podr\u0161ka za WebGPU\" src=\"\/wp-content\/uploads\/2020\/04\/28e4f9d01acd727178fb0651256b317a.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><\/p>\n<p>U Firefoxu je za omogu\u0107avanje WebGPU-a u about:config dostupna postavka \u201edom.webgpu.enabled\u201c. Za iscrtavanje CanvasContext-a tako\u0111er je potrebno uklju\u010diti sustav kompozicije <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/servo\/webrender\">WebRender<\/a><\/noindex> (\u201egfx.webrender.all\u201c u about:config), napisanog na jeziku Rust i premje\u0161tanja operacija iscrtavanja sadr\u017eaja stranice na GPU. Implementacija WebGPU-a temelji se na kodu projekta<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/wgpu\">wgpu<\/a><\/noindex>, napisanog na jeziku Rust i sposobnog da radi iznad API-ja DX12, Vulkan i Metal na Linux-u, Android-u, Windows-u i macOS-u (u razvoju je i podr\u0161ka za DX11 i OpenGL ES 3.0). Paralelno, kompanija Google razvija drugu implementaciju koja je dostupna u <noindex><a rel=\"nofollow\" href=\"http:\/\/chrome.com\/canary\">Canary grani<\/a><\/noindex> Chromium se uklju\u010duje putem zastavice \u201echrome:\/\/flags\/#enable-unsafe-webgpu\u201c, ali trenutno radi samo na macOS-u i Windows-u.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Izvor: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52800\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043d\u043e\u0447\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 Firefox \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 WebGPU, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 3D-\u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 GPU, \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0441\u0445\u043e\u0436\u0438\u0439 \u0441 API Vulkan, Metal \u0438 Direct3D 12. \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f Mozilla, Google, Apple, Microsoft \u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044f\u043c\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u0435, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 W3C. \u041a\u043b\u044e\u0447\u0435\u0432\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 WebGPU \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e, \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0433\u043e \u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":79173,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-79172","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043d\u043e\u0447\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 Firefox\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hr\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412 \u043d\u043e\u0447\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 Firefox \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 WebGPU | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043d\u043e\u0447\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 Firefox\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-24T23:42:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-24T23:42:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47U no\u0107ne verzije Firefoxa dodana podr\u0161ka za WebGPU | ProHoster","description":"U no\u0107nim verzijama Firefoxa","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412 \u043d\u043e\u0447\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 Firefox \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 WebGPU | ProHoster","og:description":"\u0412 \u043d\u043e\u0447\u043d\u044b\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 Firefox","og:url":"https:\/\/prohoster.info\/hr\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-24T23:42:03+00:00","article:modified_time":"2020-04-24T23:42:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"79172","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:43:23","updated":"2022-09-29 10:54:27","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/79172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=79172"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/79172\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/79173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=79172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=79172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=79172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}