{"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\/sv\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","title":{"rendered":"Nattversionerna av Firefox har f\u00e5tt st\u00f6d f\u00f6r WebGPU","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I <noindex><a rel=\"nofollow\" href=\"https:\/\/nightly.mozilla.org\/\">nattliga<\/a><\/noindex> i Firefox-versioner <noindex><a rel=\"nofollow\" href=\"https:\/\/hacks.mozilla.org\/2020\/04\/experimental-webgpu-in-firefox\/\">har det tillkommit<\/a><\/noindex> st\u00f6d f\u00f6r specifikationen <noindex><a rel=\"nofollow\" href=\"https:\/\/webgpu.io\/\">WebGPU<\/a><\/noindex>, som tillhandah\u00e5ller ett programmeringsgr\u00e4nssnitt f\u00f6r behandling av 3D-grafik och ber\u00e4kningar p\u00e5 GPU-sidan, konceptuellt liknande ett 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> och <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Direct3D#Direct3D_12\">Direct3D 12<\/a><\/noindex>. Specifikationen utvecklas av Mozilla, Google, Apple, Microsoft och representanter f\u00f6r gemenskapen i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/community\/gpu\/\">arbetsgruppen<\/a><\/noindex>, som skapats under W3C. <\/p>\n<p>Ett av de viktigaste m\u00e5len med WebGPU \u00e4r att skapa ett s\u00e4kert, anv\u00e4ndarv\u00e4nligt, b\u00e4rbart och h\u00f6gpresterande programmeringsgr\u00e4nssnitt f\u00f6r anv\u00e4ndning p\u00e5 webben av teknologier och funktioner f\u00f6r 3D-grafik som tillhandah\u00e5lls av moderna systemgrafiska API:er s\u00e5som Direct3D 12 i Windows, Metal i macOS och Vulkan i Linux. Konceptuellt skiljer sig WebGPU fr\u00e5n WebGL p\u00e5 ungef\u00e4r samma s\u00e4tt som Vulkan skiljer sig fr\u00e5n OpenGL och bygger inte p\u00e5 ett specifikt grafiskt API utan utg\u00f6r ett universellt lager som i allm\u00e4nhet anv\u00e4nder samma l\u00e5gniv\u00e5primitiver som finns i Vulkan, Metal och Direct3D. <\/p>\n<p>WebGPU ger JavaScript-appar verktyg f\u00f6r mer l\u00e5gniv\u00e5kontroll \u00f6ver organisationen, bearbetningen och \u00f6verf\u00f6ringen av kommandon till GPU, hantering av relaterade resurser, minne, buffertar, texturobjekt och kompilerade grafiska shader. En liknande metod m\u00f6jligg\u00f6r h\u00f6gre prestanda f\u00f6r grafiska applikationer genom att minska overhead och \u00f6ka effektiviteten i arbetet med GPU. <\/p>\n<p>WebGPU g\u00f6r det m\u00f6jligt att skapa kompletta komplexa 3D-projekt f\u00f6r webben som fungerar lika bra som frist\u00e5ende program som direkt anv\u00e4nder Vulkan, Metal eller Direct3D, men som inte \u00e4r bindande f\u00f6r specifika plattformar. WebGPU ger ocks\u00e5 ytterligare m\u00f6jligheter n\u00e4r det g\u00e4ller portering av inhemska grafiska program till en form som kan fungera p\u00e5 web-teknologier genom anv\u00e4ndning av WebAssembly-teknologi. F\u00f6rutom 3D-grafik omfattar WebGPU \u00e4ven m\u00f6jligheter relaterade till ber\u00e4kningar p\u00e5 GPU-sidan och st\u00f6d f\u00f6r utveckling av shaders. Shader <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/naga\">kan<\/a><\/noindex> kan skapas med WebGPU Shading Language eller definieras i det mellanliggande formatet SPIR-V, som sedan \u00f6vers\u00e4tts till shader-spr\u00e5k som st\u00f6ds av aktuella drivrutiner.<\/p>\n<p>I WebGPU till\u00e4mpas separat hantering av resurser, f\u00f6rberedande arbete och \u00f6verf\u00f6ring av kommandon till GPU (i WebGL ansvarade ett objekt f\u00f6r allt p\u00e5 en g\u00e5ng). Tre separata sammanhang tillhandah\u00e5lls:<br \/>\n    GPUDevice f\u00f6r att skapa resurser som texturer och buffertar; GPUCommandEncoder f\u00f6r att koda individuella kommandon, inklusive rendering och ber\u00e4kning; GPUCommandBuffer f\u00f6r att s\u00e4ttas i k\u00f6 f\u00f6r att utf\u00f6ras av GPU:n. Resultatet kan ritas ut i ett omr\u00e5de kopplat till ett eller flera element i canvas, eller bearbetas utan utdata (till exempel vid k\u00f6rning av ber\u00e4kningsuppgifter). Separationen av faser underl\u00e4ttar uppdelningen av resurs skapande och f\u00f6rberedande operationer i olika hanterare som kan k\u00f6ras i olika tr\u00e5dar.<\/p>\n<p>En annan skillnad mellan WebGPU och WebGL \u00e4r den olika metoden f\u00f6r hantering av tillst\u00e5nd. I WebGPU erbjuds tv\u00e5 objekt \u2014 GPURenderPipeline och GPUComputePipeline, vilket g\u00f6r det m\u00f6jligt att kombinera olika tillst\u00e5nd som har definierats av utvecklaren. Detta g\u00f6r att webbl\u00e4saren kan spara resurser genom att undvika extra arbete som att omkompilera shadere. Bland de st\u00f6dda tillst\u00e5nden finns: shadere, layout f\u00f6r vertexbuffrar och attribut, layout f\u00f6r bifogade grupper, blandning, djup och mallar, samt utdataformat efter rendering.<\/p>\n<p>Den tredje funktionen hos WebGPU kallas bindningsmodellen, som i stor utstr\u00e4ckning<br \/>\nliknar de resurshanteringsverktyg som finns i Vulkan.<br \/>\nF\u00f6r att gruppera resurser i WebGPU tillhandah\u00e5lls objektet GPUBindGroup, som vid skrivning av kommandon kan kopplas till andra liknande objekt f\u00f6r anv\u00e4ndning i shaders. Skapandet av s\u00e5dana grupper ger drivrutinen m\u00f6jlighet att genomf\u00f6ra n\u00f6dv\u00e4ndiga f\u00f6rberedande \u00e5tg\u00e4rder i f\u00f6rv\u00e4g, och ger webbl\u00e4saren m\u00f6jlighet att snabbt \u00e4ndra resursbindningar mellan anrop till rendering. Layouten f\u00f6r resursbindningar kan definieras i f\u00f6rv\u00e4g med hj\u00e4lp av objektet GPUBindGroupLayout.<\/p>\n<p><center><img decoding=\"async\" alt=\"Nattversionerna av Firefox har f\u00e5tt st\u00f6d f\u00f6r WebGPU\" src=\"\/wp-content\/uploads\/2020\/04\/28e4f9d01acd727178fb0651256b317a.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><\/p>\n<p>I Firefox kan WebGPU aktiveras i about:config med inst\u00e4llningen \u00abdom.webgpu.enabled\u00bb. F\u00f6r att rendera CanvasContext kr\u00e4vs ocks\u00e5 aktivering av kompositionssystemet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/servo\/webrender\">\u00e4r aktiverat<\/a><\/noindex> (\u00abgfx.webrender.all\u00bb i about:config), skrivet i Rust, som flyttar rendering av sidinneh\u00e5ll till GPU. Implementeringen av WebGPU \u00e4r baserad p\u00e5 koden fr\u00e5n projektet<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/wgpu\">wgpu<\/a><\/noindex>, skrivet i Rust och som kan fungera ovanp\u00e5 API:erna DX12, Vulkan och Metal i Linux, Android, Windows och macOS (st\u00f6d f\u00f6r DX11 och OpenGL ES 3.0 \u00e4r ocks\u00e5 under utveckling). Parallellt utvecklar Google en annan implementation som \u00e4r tillg\u00e4nglig i <noindex><a rel=\"nofollow\" href=\"http:\/\/chrome.com\/canary\">Canary-grenen<\/a><\/noindex> Chromium och aktiveras via flaggan \u00abchrome:\/\/flags\/#enable-unsafe-webgpu\u00bb, men fungerar \u00e4n s\u00e5 l\u00e4nge endast p\u00e5 macOS och Windows.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>K\u00e4lla: <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\/sv\/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=\"sv_SE\" \/>\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\/sv\/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\udd47I nattliga versioner av Firefox har st\u00f6d f\u00f6r WebGPU lagts till | ProHoster","description":"I nattliga versioner av Firefox","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/79172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=79172"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/79172\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/79173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=79172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=79172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=79172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}