{"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\/ro\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","title":{"rendered":"\u00cen versiunile nocturne ale Firefox a fost ad\u0103ugat\u0103 suport pentru WebGPU","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00cen <noindex><a rel=\"nofollow\" href=\"https:\/\/nightly.mozilla.org\/\">nocturne<\/a><\/noindex> versiuni Firefox <noindex><a rel=\"nofollow\" href=\"https:\/\/hacks.mozilla.org\/2020\/04\/experimental-webgpu-in-firefox\/\">a ap\u0103rut<\/a><\/noindex> suport pentru specifica\u021bie <noindex><a rel=\"nofollow\" href=\"https:\/\/webgpu.io\/\">WebGPU<\/a><\/noindex>, oferind o interfa\u021b\u0103 de programare pentru procesarea graficii 3D \u0219i calcule pe GPU, similar conceptual cu API-ul <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> \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Direct3D#Direct3D_12\">Direct3D 12<\/a><\/noindex>. Specifica\u021bia este dezvoltat\u0103 de Mozilla, Google, Apple, Microsoft \u0219i reprezentan\u021bi ai comunit\u0103\u021bii \u00een <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/community\/gpu\/\">grupa de lucru<\/a><\/noindex>, cr\u00e9\u00e9 au sein du W3C. <\/p>\n<p>Obiectivul principal al WebGPU este de a crea o interfa\u021b\u0103 de programare sigur\u0103, convenabil\u0103, portabil\u0103 \u0219i performant\u0103 pentru utilizarea pe platforma web a tehnologiilor \u0219i capacit\u0103\u021bilor graficii 3D, furnizate de API-urile grafice de sistem moderne, cum ar fi Direct3D 12 pe Windows, Metal pe macOS \u0219i Vulkan pe Linux. Conceptual, WebGPU se diferen\u021biaz\u0103 de WebGL cam la fel cum Vulkan se diferen\u021biaz\u0103 de OpenGL \u0219i nu se bazeaz\u0103 pe un API grafic specific, ci reprezint\u0103 un strat universal, folosind \u00een general acelea\u0219i primitive de nivel sc\u0103zut, disponibile \u00een Vulkan, Metal \u0219i Direct3D. <\/p>\n<p>WebGPU ofer\u0103 aplica\u021biilor JavaScript instrumente pentru un control mai detaliat asupra organiz\u0103rii, proces\u0103rii \u0219i transmiterii comenzilor c\u0103tre GPU, gestion\u0103rii resurselor asociate, memoriei, bufferelor, obiectelor textur\u0103 \u0219i shaderelor grafice compilate. O astfel de abordare permite ob\u021binerea unei performan\u021be superioare a aplica\u021biilor grafice prin reducerea suprasarcinii \u0219i \u00eembun\u0103t\u0103\u021birea eficien\u021bei lucrului cu GPU. <\/p>\n<p>WebGPU permite crearea de proiecte complexe 3D pentru web, care func\u021bioneaz\u0103 la fel de bine ca programele separate care interac\u021bioneaz\u0103 direct cu Vulkan, Metal sau Direct3D, dar nu sunt legate de platforme specifice. WebGPU ofer\u0103, de asemenea, oportunit\u0103\u021bi suplimentare \u00een portarea programelor grafice native \u00eentr-o form\u0103 capabil\u0103 s\u0103 func\u021bioneze pe baza tehnologiilor web, datorit\u0103 utiliz\u0103rii tehnologiei WebAssembly. Pe l\u00e2ng\u0103 grafic\u0103 3D, WebGPU acoper\u0103 \u0219i capacit\u0103\u021bile legate de externalizarea calculului pe GPU \u0219i suportul pentru dezvoltarea shaderelor. Shaderele <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/naga\">pot<\/a><\/noindex> pot fi create \u00een limbajul WebGPU Shading Language sau definite \u00eentr-un format intermediar SPIR-V, dup\u0103 care sunt transpuse \u00een limbaje de shadere acceptate de driverele actuale.<\/p>\n<p>\u00cen WebGPU, administrarea resurselor, lucr\u0103rile preliminare \u0219i transmiterea comenzilor c\u0103tre GPU sunt gestionate separat (\u00een WebGL, un singur obiect era responsabil de toate simultan). Se ofer\u0103 trei contexte separate:<br \/>\n    GPUDevice pentru crearea resurselor, cum ar fi texturi \u0219i buffere; GPUCommandEncoder pentru codificarea de comenzi individuale, inclusiv etapele de randare \u0219i calcul; GPUCommandBuffer pentru a fi plasat \u00een coada de execu\u021bie pe GPU. Rezultatul poate fi randat \u00eentr-o zon\u0103 asociat\u0103 cu unul sau mai multe elemente canvas sau procesat f\u0103r\u0103 a fi afi\u0219at (de exemplu, \u00een timpul execu\u021biei sarcinilor de calcul). Separarea etapelor faciliteaz\u0103 distribuirea cre\u0103rii resurselor \u0219i a opera\u021biunilor preg\u0103titoare \u00een diferi\u021bi manipulatoare, care pot fi executate pe fire diferite.<\/p>\n<p>O a doua diferen\u021b\u0103 \u00eentre WebGPU \u0219i WebGL este abordarea diferit\u0103 pentru gestionarea st\u0103rilor. WebGPU propune dou\u0103 obiecte \u2014 GPURenderPipeline \u0219i GPUComputePipeline, care permit combinarea diferitelor st\u0103ri, definite anterior de dezvoltator, ceea ce le ofer\u0103 browserelor ocazia de a nu consuma resurse pe lucr\u0103ri suplimentare, cum ar fi recompilarea shaderelor. Printre st\u0103rile suportate se num\u0103r\u0103: shadere, aranjamente ale bufferelor de v\u00e2rfuri \u0219i atributelor, aranjamente ale grupurilor ata\u0219ate, amestecare, ad\u00e2ncime \u0219i \u0219abloane, formate de ie\u0219ire dup\u0103 redare.<\/p>\n<p>A treia caracteristic\u0103 a WebGPU este modelul de legare, care este \u00een mare parte<br \/>\nsimilar cu instrumentele de grupare a resurselor prezente \u00een Vulkan.<br \/>\nPentru a grupa resursele \u00een grupuri, WebGPU ofer\u0103 obiectul GPUBindGroup, care \u00een timpul scrierii comenzilor poate fi legat cu alte obiecte similare pentru utilizare \u00een shadere. Crearea acestor grupuri permite driverului s\u0103 finalizeze din timp ac\u021biunile preg\u0103titoare necesare, iar browserului s\u0103 schimbe semnificativ mai repede leg\u0103turile de resurse \u00eentre apelurile de randare. Dispozi\u021bia leg\u0103turilor de resurse poate fi definit\u0103 din timp cu ajutorul obiectului GPUBindGroupLayout.<\/p>\n<p><center><img decoding=\"async\" alt=\"\u00cen versiunile nocturne ale Firefox a fost ad\u0103ugat\u0103 suport pentru WebGPU\" src=\"\/wp-content\/uploads\/2020\/04\/28e4f9d01acd727178fb0651256b317a.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><\/p>\n<p>\u00cen Firefox, pentru a activa WebGPU \u00een about:config, exist\u0103 setarea \u201edom.webgpu.enabled\u201d. De asemenea, pentru redarea CanvasContext trebuie activat\u0103 sistemul de compunere <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/servo\/webrender\">WebRender<\/a><\/noindex> (\u201egfx.webrender.all\u201d \u00een about:config), scris \u00een limbajul Rust \u0219i care transfer\u0103 pe GPU opera\u021biile de redare a con\u021binutului paginii. Implementarea WebGPU se bazeaz\u0103 pe codul proiectului<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/wgpu\">wgpu<\/a><\/noindex>, scris \u00een limbajul Rust \u0219i capabil s\u0103 func\u021bioneze deasupra API-urilor DX12, Vulkan \u0219i Metal \u00een Linux, Android, Windows \u0219i macOS (\u00een dezvoltare se afl\u0103, de asemenea, suport pentru DX11 \u0219i OpenGL ES 3.0). \u00cen paralel, compania Google dezvolt\u0103 o alt\u0103 implementare, care este disponibil\u0103 \u00een <noindex><a rel=\"nofollow\" href=\"http:\/\/chrome.com\/canary\">ramura Canary<\/a><\/noindex> Chromium \u0219i se activeaz\u0103 printr-un semafor \u201echrome:\/\/flags\/#enable-unsafe-webgpu\u201d, dar func\u021bioneaz\u0103 doar pe macOS \u0219i Windows.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Sursa: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52800\">opennet.ro<\/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.2.1 - 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\/ro\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\u00cen versiunile nightly ale Firefox a fost ad\u0103ugat\u0103 suport pentru WebGPU | ProHoster","description":"\u00cen versiunile nightly ale Firefox","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/79172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=79172"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/79172\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/79173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=79172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=79172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=79172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}