{"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\/da\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","title":{"rendered":"Firefox's natlige builds har f\u00e5et st\u00f8tte til WebGPU","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>I <noindex><a rel=\"nofollow\" href=\"https:\/\/nightly.mozilla.org\/\">nattest<\/a><\/noindex> sammenstillinger af Firefox <noindex><a rel=\"nofollow\" href=\"https:\/\/hacks.mozilla.org\/2020\/04\/experimental-webgpu-in-firefox\/\">er der kommet<\/a><\/noindex> underst\u00f8ttelse af specifikationen <noindex><a rel=\"nofollow\" href=\"https:\/\/webgpu.io\/\">WebGPU<\/a><\/noindex>, som tilbyder et programmeringsinterface til behandling af 3D-grafik og beregninger p\u00e5 GPU-siden, konceptuelt svarende til 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> og <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Direct3D#Direct3D_12\">Direct3D 12<\/a><\/noindex>. Specifikationen udvikles af Mozilla, Google, Apple, Microsoft og repr\u00e6sentanter fra samfundet i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/community\/gpu\/\">arbejdsgruppen<\/a><\/noindex>, oprettet af W3C. <\/p>\n<p>Hovedm\u00e5let med WebGPU er at skabe et sikkert, brugervenligt, b\u00e6rbart og h\u00f8jtydende programmeringsinterface til brug p\u00e5 webplatforme til teknologier og muligheder for 3D-grafik, der tilbydes af moderne systemgrafiske API'er, s\u00e5som Direct3D 12 i Windows, Metal i macOS og Vulkan i Linux. Konceptuelt adskiller WebGPU sig fra WebGL i omtrent samme grad som Vulkan adskiller sig fra OpenGL, og den baserer sig ikke p\u00e5 et specifikt grafisk API, men repr\u00e6senterer et universelt lag, der generelt anvender de samme lavniveau-primitiver, der findes i Vulkan, Metal og Direct3D. <\/p>\n<p>WebGPU giver JavaScript-applikationer v\u00e6rkt\u00f8jer til lavere niveau kontrol over organiseringen, behandlingen og overf\u00f8rslen af kommandoer til GPU, h\u00e5ndtering af tilknyttede ressourcer, hukommelse, buffere, teksturobjekter og kompilerede grafiske shadere. Denne tilgang muligg\u00f8r h\u00f8jere ydeevne for grafiske applikationer ved at reducere overhead og \u00f8ge effektiviteten ved arbejde med GPU. <\/p>\n<p>WebGPU muligg\u00f8r oprettelsen af komplette komplekse 3D-projekter til web, der fungerer liges\u00e5 godt som isolerede programmer, der direkte interagerer med Vulkan, Metal eller Direct3D, men som ikke er bundet til specifikke platforme. WebGPU tilbyder ogs\u00e5 yderligere muligheder ved portering af native grafiske programmer til en form, der kan arbejde baseret p\u00e5 webteknologier, takket v\u00e6re brugen af WebAssembly. Udover 3D-grafik inkluderer WebGPU ogs\u00e5 muligheder relateret til at udf\u00f8re beregninger p\u00e5 GPU-siden og underst\u00f8ttelse af udvikling af shadere. Shadere <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/naga\">kan<\/a><\/noindex> kan oprettes i WebGPU Shading Language eller defineres i det mellemformat SPIR-V, hvorefter de kan overs\u00e6ttes til shadersprog, der underst\u00f8ttes af de aktuelle drivere.<\/p>\n<p>I WebGPU anvendes adskilt kontrol af ressourcer, forberedende arbejde og overf\u00f8rsel af kommandoer til GPU (i WebGL svarede \u00e9t objekt for alt p\u00e5 \u00e9n gang). Der tilbydes tre separate kontekster:<br \/>\n    GPUDevice til at oprette ressourcer som teksturer og buffere; GPUCommandEncoder til at kode individuelle kommandoer, herunder rendering og beregningsstadier; GPUCommandBuffer til at sende til k\u00f8en for udf\u00f8relse p\u00e5 GPU'en. Resultatet kan tegnes i et omr\u00e5de tilknyttet et eller flere canvas-elementer, eller behandles uden output (f.eks. ved k\u00f8rsel af beregningstasks). Opdelingen af stadierne forenkler adskillelsen af oprettelse af ressourcer og forberedende operationer i forskellige h\u00e5ndterere, der kan udf\u00f8res i forskellige tr\u00e5de.<\/p>\n<p>Den anden forskel mellem WebGPU og WebGL er den anderledes tilgang til h\u00e5ndtering af tilstande. I WebGPU tilbydes to objekter \u2014 GPURenderPipeline og GPUComputePipeline, som g\u00f8r det muligt at kombinere forskellige tilstande, som er defineret af udvikleren p\u00e5 forh\u00e5nd. Dette giver browseren mulighed for ikke at bruge ressourcer p\u00e5 ekstra arbejde som genkompilering af shaders. Blandt de underst\u00f8ttede tilstande er: shaders, layout af vertexbufre og attributter, layout af tilknyttede grupper, blanding, dybde og skabeloner, outputformater efter rendering.<\/p>\n<p>Den tredje funktion i WebGPU kaldes bindingsmodellen, som i h\u00f8j grad<br \/>\nminder om de eksisterende ressourcer i Vulkan.<br \/>\nFor at gruppere ressourcer i WebGPU tilbydes objektet GPUBindGroup, som under kommandoskrivning kan bindes til andre lignende objekter til brug i shaders. Oprettelsen af s\u00e5danne grupper giver driveren mulighed for at udf\u00f8re n\u00f8dvendige forberedende handlinger p\u00e5 forh\u00e5nd og muligg\u00f8r for browseren at \u00e6ndre ressourcens bindinger meget hurtigere mellem opkald til rendering. Ressourcebindingens layout kan defineres p\u00e5 forh\u00e5nd ved hj\u00e6lp af objektet GPUBindGroupLayout.<\/p>\n<p><center><img decoding=\"async\" alt=\"Firefox&#039;s natlige builds har f\u00e5et st\u00f8tte til WebGPU\" src=\"\/wp-content\/uploads\/2020\/04\/28e4f9d01acd727178fb0651256b317a.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><\/p>\n<p>I Firefox kr\u00e6ver aktivering af WebGPU i about:config indstillingen \u00abdom.webgpu.enabled\u00bb. For at tegne CanvasContext kr\u00e6ves ogs\u00e5 aktivering af kompositionssystemet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/servo\/webrender\">WebRender<\/a><\/noindex> (\u00abgfx.webrender.all\u00bb i about:config), skrevet p\u00e5 Rust-sproget, som flytter rendering af indholdet p\u00e5 siden til GPU'en. Implementeringen af WebGPU er baseret p\u00e5 koden fra projektet<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/wgpu\">wgpu<\/a><\/noindex>, skrevet i Rust og i stand til at k\u00f8re over API'erne DX12, Vulkan, og Metal i Linux, Android, Windows og macOS (under udvikling er ogs\u00e5 underst\u00f8ttelsen af DX11 og OpenGL ES 3.0). Samtidig udvikler Google en anden implementation, som er tilg\u00e6ngelig i <noindex><a rel=\"nofollow\" href=\"http:\/\/chrome.com\/canary\">Canary-grenen<\/a><\/noindex> Chromium og kan aktiveres ved hj\u00e6lp af flagget \u00abchrome:\/\/flags\/#enable-unsafe-webgpu\u00bb, men fungerer kun p\u00e5 macOS og Windows.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Kilde: <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\/da\/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=\"da_DK\" \/>\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\/da\/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\udd47WebGPU-support er tilf\u00f8jet i de natlige builds af Firefox | ProHoster","description":"I natlige builds af Firefox","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/79172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=79172"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/79172\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/79173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=79172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=79172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=79172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}