{"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\/it\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","title":{"rendered":"Nel rilascio notturno di Firefox \u00e8 stata aggiunta la supporto per WebGPU","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In <noindex><a rel=\"nofollow\" href=\"https:\/\/nightly.mozilla.org\/\">notturne<\/a><\/noindex> assemblaggi Firefox <noindex><a rel=\"nofollow\" href=\"https:\/\/hacks.mozilla.org\/2020\/04\/experimental-webgpu-in-firefox\/\">\u00e8 comparso<\/a><\/noindex> supporto della specifica <noindex><a rel=\"nofollow\" href=\"https:\/\/webgpu.io\/\">WebGPU<\/a><\/noindex>, fornendo un'interfaccia di programmazione per la gestione della grafica 3D e dei calcoli sul lato GPU, concettualmente simile all'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> e <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Direct3D#Direct3D_12\">Direct3D 12<\/a><\/noindex>. La specifica \u00e8 sviluppata da Mozilla, Google, Apple, Microsoft e dai rappresentanti della comunit\u00e0 nel <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/community\/gpu\/\">gruppo di lavoro<\/a><\/noindex>, creato nell'ambito dell'organizzazione W3C. <\/p>\n<p>L'obiettivo principale di WebGPU \u00e8 creare un'interfaccia di programmazione sicura, conveniente, portabile e ad alte prestazioni per l'utilizzo nella piattaforma web delle tecnologie e delle capacit\u00e0 grafiche 3D fornite dagli moderni API grafici di sistema, come Direct3D 12 su Windows, Metal su macOS e Vulkan su Linux. Concettualmente, WebGPU si differenzia da WebGL pi\u00f9 o meno come Vulkan si differenzia da OpenGL e non \u00e8 basato su un API grafico specifico, ma rappresenta un'interfaccia universale che in linea di massima utilizza gli stessi primitivi a basso livello gi\u00e0 presenti in Vulkan, Metal e Direct3D. <\/p>\n<p>WebGPU offre alle applicazioni JavaScript strumenti per un controllo a basso livello nell'organizzazione, nell'elaborazione e nella trasmissione di comandi alla GPU, nella gestione delle risorse correlate, della memoria, dei buffer, degli oggetti texture e degli shader grafici compilati. Questo approccio consente di ottenere prestazioni pi\u00f9 elevate per le applicazioni grafiche grazie alla riduzione dei costi generali e al miglioramento dell'efficienza nell'uso della GPU. <\/p>\n<p>WebGPU consente di creare progetti 3D complessi per il Web che funzionano altrettanto bene delle applicazioni autonome che interagiscono direttamente con Vulkan, Metal o Direct3D, ma non sono vincolati a piattaforme specifiche. WebGPU fornisce inoltre opportunit\u00e0 aggiuntive per il porting di applicazioni grafiche native in una forma in grado di funzionare con le tecnologie web, grazie all'uso della tecnologia WebAssembly. Oltre alla grafica 3D, WebGPU copre anche le possibilit\u00e0 legate all'uso della GPU per elaborazioni e il supporto allo sviluppo di shader. Gli shader <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/naga\">possono<\/a><\/noindex> possono essere creati nel linguaggio WebGPU Shading Language o specificati in un formato intermedio SPIR-V, per poi essere tradotti nei linguaggi di shader supportati dai driver attuali.<\/p>\n<p>In WebGPU \u00e8 applicata una gestione separata delle risorse, delle operazioni preparatorie e della trasmissione di comandi alla GPU (in WebGL un oggetto rispondeva a tutto contemporaneamente). Sono forniti tre contesti distinti:<br \/>\n    GPUDevice per la creazione di risorse come texture e buffer; GPUCommandEncoder per codificare singole istruzioni, incluse le fasi di rendering e calcolo; GPUCommandBuffer per la messa in coda all'esecuzione sulla GPU. Il risultato pu\u00f2 essere disegnato in un'area associata a uno o pi\u00f9 elementi canvas, o elaborato senza output (ad esempio, durante l'esecuzione di compiti di calcolo). La separazione delle fasi semplifica la suddivisione della creazione delle risorse e delle operazioni preparatorie in diversi gestori, che possono essere eseguiti in thread differenti.<\/p>\n<p>La seconda differenza tra WebGPU e WebGL \u00e8 l'approccio diverso alla gestione degli stati. In WebGPU sono disponibili due oggetti \u2014 GPURenderPipeline e GPUComputePipeline, che consentono di combinare vari stati predefiniti dallo sviluppatore, permettendo al browser di non spendere risorse per eseguire lavoro supplementare, come la ricompilazione degli shader. Tra gli stati supportati ci sono: shader, layout dei buffer dei vertici e degli attributi, layout dei gruppi allegati, miscelazione, profondit\u00e0 e modelli, formati di output post-rendering.<\/p>\n<p>La terza caratteristica di WebGPU \u00e8 il modello di binding, che in gran parte<br \/>\nricorda gli strumenti di raggruppamento delle risorse presenti in Vulkan.<br \/>\nPer raggruppare le risorse in WebGPU \u00e8 disponibile l'oggetto GPUBindGroup, che durante la scrittura dei comandi pu\u00f2 essere associato ad altri oggetti simili per l'uso negli shader. Creare tali gruppi consente al driver di eseguire in anticipo le necessarie operazioni preparatorie e al browser di cambiare le associazioni delle risorse tra le chiamate di rendering in modo significativamente pi\u00f9 veloce. Il layout delle associazioni delle risorse pu\u00f2 essere definito in anticipo utilizzando l'oggetto GPUBindGroupLayout.<\/p>\n<p><center><img decoding=\"async\" alt=\"Nel rilascio notturno di Firefox \u00e8 stata aggiunta la supporto per WebGPU\" src=\"\/wp-content\/uploads\/2020\/04\/28e4f9d01acd727178fb0651256b317a.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><\/p>\n<p>In Firefox, per abilitare WebGPU in about:config \u00e8 prevista l'impostazione \u00abdom.webgpu.enabled\u00bb. Per il rendering di CanvasContext \u00e8 necessaria anche l'attivazione del sistema di composizione <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/servo\/webrender\">WebRender<\/a><\/noindex> (\u00abgfx.webrender.all\u00bb in about:config), scritto in Rust e spostando sul GPU le operazioni di rendering del contenuto della pagina. L'implementazione di WebGPU si basa sul codice del progetto<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/wgpu\">wgpu<\/a><\/noindex>, scritto in Rust e capace di funzionare sopra le API DX12, Vulkan e Metal su Linux, Android, Windows e macOS (\u00e8 in fase di sviluppo anche il supporto per DX11 e OpenGL ES 3.0). Parallelamente, Google sta sviluppando un'altra implementazione, disponibile nella <noindex><a rel=\"nofollow\" href=\"http:\/\/chrome.com\/canary\">versione Canary<\/a><\/noindex> Chromium e pu\u00f2 essere attivato tramite il flag \u00abchrome:\/\/flags\/#enable-unsafe-webgpu\u00bb, ma attualmente funziona solo su macOS e Windows.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <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.1.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\/it\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Nelle versioni notturne di Firefox \u00e8 stata aggiunta la supporto per WebGPU | ProHoster","description":"Nelle versioni notturne di Firefox","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/79172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=79172"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/79172\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/79173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=79172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=79172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=79172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}