{"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\/es\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","title":{"rendered":"Las versiones nocturnas de Firefox a\u00f1adieron soporte para WebGPU","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>En <noindex><a rel=\"nofollow\" href=\"https:\/\/nightly.mozilla.org\/\">nocturnos<\/a><\/noindex> compilaciones de Firefox <noindex><a rel=\"nofollow\" href=\"https:\/\/hacks.mozilla.org\/2020\/04\/experimental-webgpu-in-firefox\/\">se ha a\u00f1adido<\/a><\/noindex> soporte de la especificaci\u00f3n <noindex><a rel=\"nofollow\" href=\"https:\/\/webgpu.io\/\">WebGPU<\/a><\/noindex>, proporcionando una interfaz de programaci\u00f3n para el procesamiento de gr\u00e1ficos 3D y c\u00e1lculos en el lado de la GPU, conceptualmente similar a la 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> y <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Direct3D#Direct3D_12\">Direct3D 12<\/a><\/noindex>. La especificaci\u00f3n es desarrollada por Mozilla, Google, Apple, Microsoft y representantes de la comunidad en <noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/community\/gpu\/\">el grupo de trabajo<\/a><\/noindex>, creado bajo la organizaci\u00f3n W3C. <\/p>\n<p>La tarea clave de WebGPU es crear una interfaz de programaci\u00f3n segura, conveniente, port\u00e1til y de alto rendimiento para su uso en la plataforma web, aprovechando las tecnolog\u00edas y capacidades de gr\u00e1ficos 3D proporcionadas por las API gr\u00e1ficas del sistema moderno, como Direct3D 12 en Windows, Metal en macOS y Vulkan en Linux. Conceptualmente, WebGPU se diferencia de WebGL de forma similar a como Vulkan se diferencia de OpenGL, y no se basa en una API gr\u00e1fica espec\u00edfica, sino que representa una capa universal que utiliza, en general, los mismos primitivos de bajo nivel que existen en Vulkan, Metal y Direct3D. <\/p>\n<p>WebGPU proporciona a las aplicaciones en JavaScript herramientas para un control de bajo nivel sobre la organizaci\u00f3n, procesamiento y env\u00edo de comandos a la GPU, gesti\u00f3n de los recursos relacionados, memoria, buffers, objetos de texturas y sombreadores gr\u00e1ficos compilados. Este enfoque permite lograr un rendimiento m\u00e1s alto en aplicaciones gr\u00e1ficas al reducir la sobrecarga y mejorar la eficiencia del trabajo con la GPU. <\/p>\n<p>WebGPU permite crear proyectos 3D completos y complejos para la web que funcionan tan bien como las aplicaciones independientes que interact\u00faan directamente con Vulkan, Metal o Direct3D, pero que no est\u00e1n atados a plataformas espec\u00edficas. WebGPU tambi\u00e9n ofrece capacidades adicionales al portar programas gr\u00e1ficos nativos a una forma que puede funcionar sobre tecnolog\u00edas web, gracias a la aplicaci\u00f3n de WebAssembly. Adem\u00e1s de los gr\u00e1ficos 3D, WebGPU abarca capacidades relacionadas con el desalojo de c\u00e1lculos hacia la GPU y el soporte para el desarrollo de sombreadores. Los sombreadores <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/naga\">pueden<\/a><\/noindex> se pueden crear en el lenguaje WebGPU Shading Language o definirse en el formato intermedio SPIR-V, que luego se traduce a lenguajes de sombreadores soportados por los controladores actuales.<\/p>\n<p>En WebGPU se aplica una gesti\u00f3n separada de recursos, trabajos preparatorios y env\u00edo de comandos a la GPU (en WebGL, un solo objeto se encargaba de todo a la vez). Se proporcionan tres contextos separados:<br \/>\n    El GPUDevice se utiliza para crear recursos como texturas y b\u00faferes; el GPUCommandEncoder se encarga de codificar comandos individuales, incluyendo etapas de renderizado y computaci\u00f3n; el GPUCommandBuffer se utiliza para enviar a la cola para su ejecuci\u00f3n en el GPU. El resultado puede ser renderizado en un \u00e1rea asociada con uno o varios elementos canvas, o procesado sin salida (por ejemplo, al ejecutar tareas de computaci\u00f3n). La separaci\u00f3n de etapas facilita la distribuci\u00f3n de la creaci\u00f3n de recursos y las operaciones de preparaci\u00f3n en diferentes controladores que pueden ejecutarse en diferentes hilos.<\/p>\n<p>La segunda diferencia entre WebGPU y WebGL es el enfoque diferente para manejar los estados. WebGPU ofrece dos objetos: GPURenderPipeline y GPUComputePipeline, que permiten combinar diferentes estados definidos previamente por el desarrollador, lo que permite al navegador no gastar recursos en realizar trabajo adicional, como la recompilaci\u00f3n de sombreados. Entre los estados soportados se incluyen: sombreados, configuraciones de b\u00faferes de v\u00e9rtices y atributos, configuraciones de grupos adjuntos, mezcla, profundidad y plantillas, as\u00ed como formatos de salida despu\u00e9s del renderizado.<\/p>\n<p>La tercera caracter\u00edstica de WebGPU es el modelo de enlace, que en gran medida<br \/>\nrecuerda a las herramientas de agrupamiento de recursos presentes en Vulkan.<br \/>\nPara agrupar recursos en WebGPU, se proporciona un objeto GPUBindGroup, que durante la grabaci\u00f3n de comandos se puede vincular a otros objetos similares para su uso en los sombreadores. La creaci\u00f3n de tales grupos permite al controlador realizar acciones preparatorias necesarias de antemano, y permite al navegador cambiar las vinculaciones de recursos mucho m\u00e1s r\u00e1pido entre las llamadas de renderizado. El dise\u00f1o de las vinculaciones de recursos se puede definir de antemano utilizando el objeto GPUBindGroupLayout.<\/p>\n<p><center><img decoding=\"async\" alt=\"Las versiones nocturnas de Firefox a\u00f1adieron soporte para WebGPU\" src=\"\/wp-content\/uploads\/2020\/04\/28e4f9d01acd727178fb0651256b317a.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><\/p>\n<p>En Firefox, para habilitar WebGPU en about:config, hay una configuraci\u00f3n llamada \u00abdom.webgpu.enabled\u00bb. Tambi\u00e9n se requiere activar el sistema de composici\u00f3n para el renderizado del CanvasContext <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/servo\/webrender\">WebRender<\/a><\/noindex> (\u00abgfx.webrender.all\u00bb en about:config), que est\u00e1 escrito en el lenguaje Rust y traslada las operaciones de renderizado del contenido de la p\u00e1gina al GPU. La implementaci\u00f3n de WebGPU se basa en el c\u00f3digo del proyecto<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/wgpu\">wgpu<\/a><\/noindex>, desarrollado en Rust y capaz de funcionar sobre las API DX12, Vulkan y Metal en Linux, Android, Windows y macOS (tambi\u00e9n se est\u00e1 desarrollando soporte para DX11 y OpenGL ES 3.0). Paralelamente, Google est\u00e1 desarrollando otra implementaci\u00f3n que est\u00e1 disponible en <noindex><a rel=\"nofollow\" href=\"http:\/\/chrome.com\/canary\">la rama Canary.<\/a><\/noindex> Chromium y se activa mediante el flag \u00abchrome:\/\/flags\/#enable-unsafe-webgpu\u00bb, pero actualmente solo funciona en macOS y Windows.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fuente: <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.2 - 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\/es\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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 En las versiones nocturnas de Firefox se ha a\u00f1adido soporte para WebGPU | ProHoster","description":"En las versiones nocturnas de Firefox","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/v-nochnye-sborki-firefox-dobavlena-podderzhka-webgpu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/79172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=79172"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/79172\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/79173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=79172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=79172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=79172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}