{"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\/nl\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","title":{"rendered":"Ondersteuning voor WebGPU toegevoegd aan de nachtbouwingen van Firefox","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In <noindex><a rel=\"nofollow\" href=\"https:\/\/nightly.mozilla.org\/\">nachtelijke<\/a><\/noindex> versies van Firefox <noindex><a rel=\"nofollow\" href=\"https:\/\/hacks.mozilla.org\/2020\/04\/experimental-webgpu-in-firefox\/\">in de testbuild Canary, en is onlangs overgebracht naar de release. Om het te activeren, moet u naar het gedeelte flags chrome:\/\/flags gaan, het vlag 'Filesystem API in Incognito' zoeken via de zoekfunctie en deze inschakelen. Na het opnieuw opstarten van de browser zal de incognito-modus volledig functioneren.<\/a><\/noindex> ondersteuning voor de specificatie <noindex><a rel=\"nofollow\" href=\"https:\/\/webgpu.io\/\">WebGPU<\/a><\/noindex>, die een programmeerinterface biedt voor de verwerking van 3D-graphics en berekeningen aan de GPU-kant, conceptueel vergelijkbaar met de API <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> en <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Direct3D#Direct3D_12\">Direct3D 12<\/a><\/noindex>. De specificatie wordt ontwikkeld door Mozilla, Google, Apple, Microsoft en vertegenwoordigers van de gemeenschap in de <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/community\/gpu\/\">werkgroep<\/a><\/noindex>, opgericht binnen de W3C-organisatie. <\/p>\n<p>Een van de belangrijkste doelen van WebGPU is het cre\u00ebren van een veilige, gebruiksvriendelijke, draagbare en hoogpresterende programmeerinterface voor gebruik op het web, wat de technologie\u00ebn en mogelijkheden voor 3D-graphics betreft die worden geleverd door moderne systeemgrafische API's, zoals Direct3D 12 op Windows, Metal op macOS en Vulkan op Linux. Conceptueel verschilt WebGPU van WebGL op ongeveer dezelfde manier als Vulkan verschilt van OpenGL, en het is niet gebaseerd op een specifieke grafische API, maar dient als een universele laag die in het algemeen dezelfde laagdrempelige primitieve gebruikt als die in Vulkan, Metal en Direct3D. <\/p>\n<p>WebGPU biedt JavaScript-toepassingen middelen voor meer laagdrempelige controle over de organisatie, verwerking en overdracht van commando's naar de GPU, het beheer van verbonden middelen, geheugen, buffers, textuurobjecten en gecompileerde grafische shaders. Deze aanpak maakt het mogelijk om een hogere prestaties van grafische toepassingen te bereiken door overhead te verlagen en de effici\u00ebntie van het werken met de GPU te verbeteren. <\/p>\n<p>WebGPU biedt de mogelijkheid om complexe 3D-projecten voor het web te cre\u00ebren die net zo goed presteren als autonome programma's die rechtstreeks communiceren met Vulkan, Metal of Direct3D, maar die niet aan specifieke platforms zijn gebonden. WebGPU biedt ook extra mogelijkheden bij het porteren van native grafische programma's naar een vorm die kan werken op basis van webtechnologie\u00ebn, dankzij het gebruik van WebAssembly. Naast 3D-graphics omvat WebGPU ook mogelijkheden voor het uitvoeren van berekeningen aan de GPU-kant en de ondersteuning van shader-ontwikkeling. Shaders <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/naga\">urenlang doorgaan (afhankelijk van de wensen en uithoudingsvermogen van de spreker).<\/a><\/noindex> kunnen worden gemaakt in de WebGPU Shading Language of worden opgegeven in het tussenformaat SPIR-V, waarna ze worden getransleerd naar shaders die worden ondersteund door de huidige stuurprogramma's.<\/p>\n<p>In WebGPU is er een gescheiden beheer van bronnen, voorbereidingswerkzaamheden en het verzenden van commando's naar de GPU (in WebGL was \u00e9\u00e9n object verantwoordelijk voor alles tegelijk). Er worden drie aparte contexten aangeboden:<br \/>\n    GPUDevice voor het maken van bronnen zoals texturen en buffers; GPUCommandEncoder voor het coderen van afzonderlijke opdrachten, inclusief rendering- en computestadia; GPUCommandBuffer voor het doorsturen naar de uitvoerwachtrij op de GPU. De uitkomst kan worden getekend in een gebied dat is gekoppeld aan een of meerdere canvas-elementen, of worden verwerkt zonder uitvoer (bijvoorbeeld tijdens het uitvoeren van computertaken). De scheiding van stadia vereenvoudigt het splitsen van resource-creatie en voorbereidende bewerkingen in verschillende handlers die in verschillende threads kunnen worden uitgevoerd.<\/p>\n<p>Een tweede verschil tussen WebGPU en WebGL is de andere aanpak voor het verwerken van toestanden. In WebGPU worden twee objecten voorgesteld \u2013 GPURenderPipeline en GPUComputePipeline \u2013 die het mogelijk maken om verschillende toestanden te combineren die vooraf door de ontwikkelaar zijn gedefinieerd. Hierdoor kan de browser bronnen besparen door extra werk zoals het recompileren van shaders te vermijden. Ondersteunde toestanden zijn onder andere: shaders, lay-outs van vertexbuffers en attributen, lay-outs van bijgevoegde groepen, mengen, diepte en sjablonen, en uitvoerformaten na het renderen.<\/p>\n<p>Een derde kenmerk van WebGPU is het bindingmodel, dat in veel opzichten<br \/>\nherinnerd aan de groepsmiddelen in Vulkan.<br \/>\nVoor het groeperen van middelen in groepen biedt WebGPU het GPUBindGroup-object, dat tijdens het schrijfproces van opdrachten kan worden gekoppeld aan andere gelijksoortige objecten voor gebruik in shaders. Het maken van dergelijke groepen geeft de driver de mogelijkheid om vooraf noodzakelijke voorbereidende stappen uit te voeren, en stelt de browser in staat om veel sneller resource-bindingen te wijzigen tussen renderaanroepen. De lay-out van resource-bindingen kan vooraf worden gedefinieerd met behulp van het GPUBindGroupLayout-object.<\/p>\n<p><center><img decoding=\"async\" alt=\"Ondersteuning voor WebGPU toegevoegd aan de nachtbouwingen van Firefox\" src=\"\/wp-content\/uploads\/2020\/04\/28e4f9d01acd727178fb0651256b317a.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><\/p>\n<p>In Firefox kan WebGPU worden ingeschakeld via de instelling 'dom.webgpu.enabled' in about:config. Voor het renderen van CanvasContext is ook het inschakelen van het compositiesysteem vereist. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/servo\/webrender\">WebRender<\/a><\/noindex> (\u2018gfx.webrender.all\u2019 in about:config), geschreven in de programmeertaal Rust, waarbij tekenoperaties van de inhoud van de pagina naar de GPU worden afgewenteld. De implementatie van WebGPU is gebaseerd op de code van het project.<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/wgpu\">wgpu<\/a><\/noindex>, geschreven in Rust en in staat om te werken bovenop de API's DX12, Vulkan en Metal op Linux, Android, Windows en macOS (ondersteuning voor DX11 en OpenGL ES 3.0 is ook in ontwikkeling). Tegelijkertijd ontwikkelt Google een andere implementatie, die beschikbaar is in de <noindex><a rel=\"nofollow\" href=\"http:\/\/chrome.com\/canary\">Canary-tak<\/a><\/noindex> Chromium kan worden ingeschakeld met de vlag 'chrome:\/\/flags\/#enable-unsafe-webgpu', maar werkt momenteel alleen op macOS en Windows.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Bron: <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.3 - 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\/nl\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47 In de nachtbouw van Firefox is ondersteuning voor WebGPU toegevoegd | ProHoster","description":"In de nachtbouw van Firefox","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/79172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=79172"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/79172\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/79173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=79172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=79172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=79172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}