API de renderizado de bajo costo
Mantle era una API de renderizado de bajo costo dirigida a videojuegos 3D. [3] AMD desarrolló originalmente Mantle en cooperación con DICE , a partir de 2013. [1] Mantle fue diseñado como una alternativa a Direct3D y OpenGL , principalmente para su uso en computadoras personales , aunque Mantle admite las GPU presentes en PlayStation 4 y en Xbox One . [1] [4] En 2015, el desarrollo público de Mantle se suspendió y en 2019 se suspendió por completo, a medida que DirectX 12 y Vulkan derivado de Mantle ganaron popularidad. [5] [6] [7] [8]
Descripción general
Las mejoras en las llamadas de Mantle ayudan a aliviar los casos en los que la CPU es el cuello de botella. Los objetivos de diseño de Mantle son permitir que los juegos y aplicaciones utilicen las CPU y GPU de manera más eficiente, eliminar los cuellos de botella de la CPU al reducir la sobrecarga de validación de API y permitir un escalado más efectivo en múltiples núcleos de CPU, proporcionar rutinas de dibujo más rápidas y permitir un mayor control sobre los gráficos. canalización eliminando ciertos aspectos de la abstracción de hardware inherentes a las API de gráficos actuales OpenGL y Direct3D. [9]
Escenarios vinculados a la CPU
Con una implementación básica, Mantle fue diseñado para mejorar el rendimiento en escenarios donde la CPU es el factor limitante:
- Validación y procesamiento de comandos API con pocos gastos generales; [10] [11]
- Control explícito del búfer de comandos; [10]
- Cerca del escalamiento lineal del rendimiento al reordenar los búferes de comandos en múltiples núcleos de CPU; [10]
- Reducción de la sobrecarga de compilación del sombreador en tiempo de ejecución; [10]
- AMD afirma que Mantle puede generar hasta 9 veces más llamadas de extracción por segundo que API comparables al reducir la sobrecarga de la CPU; [12]
- Soporte de renderizado de CPU paralelo multiproceso para al menos 8 núcleos. [13]
Escenarios vinculados a GPU
Mantle también fue diseñado para mejorar situaciones en las que se utilizan altas resoluciones y configuraciones de "máximo detalle", aunque en un grado algo menor, ya que estas configuraciones sobrecargan los recursos de la GPU de una manera que es más difícil de mejorar a nivel de API. Si bien Mantle proporciona algunas funciones integradas para mejorar el rendimiento vinculado a la GPU, las ganancias en estos casos dependen en gran medida de qué tan bien el motor del juego utiliza las funciones y optimizaciones de Mantle. Algunas de esas características incluyen: [14] [15]
- Reducción de envíos de buffers de comando
- Control explícito de compresión, expansión y sincronización de recursos.
- Cola DMA asíncrona para cargas de datos independientes del motor gráfico
- Cola de computación asincrónica para la superposición de cargas de trabajo de computación y gráficos
- Optimizaciones de formatos de datos mediante acceso flexible al búfer/imagen
- Funciones avanzadas de Anti-Aliasing para optimizaciones MSAA/EQAA [3] [10]
- Soporte nativo para múltiples GPU [3]
Puntos de referencia
- Rendimiento superior a Direct3D 11 [16]
- Rendimiento mejorado en Battlefield 4 [17] [18] [19] y hasta un 319 % más rápido en la demostración de Star Swarm en configuración de GPU única [20] [21] [22] en situaciones extremadamente limitadas de CPU.
Otras reclamaciones
- Es más fácil migrar de Mantle a Direct3D 12 que de Direct3D 11 a Direct3D 12 [23]
- En GDC 14, el empleado de Oxide Games, Dan Baker, declaró que Mantle abordaría desafíos de desarrollo fundamentales que no podrían abordarse mediante la actualización de una API existente. Es difícil optimizar el controlador del dispositivo gráfico. [24] [25] [26]
- En la AMD Developer Summit (APU) de noviembre de 2013, Johan Andersson, director técnico del motor Frostbite de DICE, elogió a Mantle por facilitar el desarrollo y permitir a los desarrolladores innovar. [27]
- Manto apunta a 100K [28]
- Tubería monolítica [3]
- Guardado y carga de tuberías [23]
- Modelo de recursos híbridos
- Recursos generalizados
- Control sobre la preparación de recursos.
- Control de flujo dinámico sin intervención de la CPU
- Control directo de GPU
- Reducción de la sobrecarga de compilación del sombreador en tiempo de ejecución
- Mejor control sobre el hardware. [12]
- "Todas las capacidades del hardware están expuestas a través de la API". [12]
- Reducción de envíos de búfer de comandos
- Optimizaciones de formatos de datos mediante acceso flexible al búfer/imagen
- Control explícito de compresión, expansión y sincronización de recursos.
- Cola DMA asíncrona para cargas de datos independientes del motor gráfico
- Cola de computación asincrónica para la superposición de cargas de trabajo de computación y gráficos
- Nuevas técnicas de renderizado
Apoyo
La API Mantle solo estaba disponible como parte de AMD Catalyst antes de 19.5.1, que estaba disponible para Microsoft Windows . AMD prometió admitir su API Mantle sólo para sus tarjetas gráficas y APU que se basan en su microarquitectura Graphics Core Next , pero no para productos más antiguos basados en la microarquitectura TeraScale . [29] En julio de 2014, [actualizar]la implementación de Mantle API estaba disponible para el siguiente hardware: [ cita necesaria ]
- ciertas GPU Radeon HD serie 7000
- ciertas GPU Radeon HD serie 8000
- ciertas GPU AMD Radeon Rx serie 200 ("R7" y "R9")
- todas las APU "Kaveri" basadas en Steamroller : AMD A10-7000 Series y AMD A8-7000 Series
- todas las APU "Kabini" y "Temash" basadas en Jaguar : AMD E1-2000 Series, E2-3000 Series, A4-1200 Series, A4-1350, A4-5000 Series, A6-1450, A6-5200, Sempron 2650, Sempron 3850, Athlon 5150, Athlon 5350, etc.
- todas las APU "Beema" y "Mullins" basadas en Puma : E1 Micro-6200T, A4 Micro-6400T, A10 Micro-6700T, E1-6010, E2-6110, A4-6210, A6-6310, etc.
Originalmente se planeó que Mantle se lanzara en otras plataformas además de Windows , incluido Linux, pero nunca sucedió. [30] [31]
Si bien la API se suspendió oficialmente, Clément Guérin [32] inició una capa de traducción de Mantle a Vulkan llamada GRVK [33] a mediados de 2020. Esto permite que la API y, en última instancia, los juegos sigan vivos incluso sin que Mantle admita controladores gráficos.
Motores de juego
- En GDC 2014, Crytek anunció que respaldará a Mantle en su CryEngine . [34]
- Durante una presentación de GPU 14 Tech Days, se anunció que Frostbite 3 incluiría un backend Mantle. [4] [12]
- El motor de juego Nitrous de Oxide Games , junto con DirectX 12. El punto de referencia Mantle todavía está disponible en una prueba de estrés gratuita de Star Swarm. [35]
- Thief se basa en un Unreal Engine 3 modificado que admitía Mantle.
- LORE, un motor de Civilization: Beyond Earth compatible con Mantle.
- Asura, motor utilizado por Sniper Elite III compatible con Mantle.
Juegos de vídeo
Originalmente planeado
Tecnologías similares
Un conjunto de características recientes de OpenGL 4.4, junto con texturas sin enlaces como extensión, también pueden reducir sustancialmente la sobrecarga del controlador. Se ha demostrado que este enfoque, denominado por Khronos Group como " AZDO " (Acercándose a cero gastos generales del conductor), logra mejoras sustanciales en el rendimiento, acercándose a las indicadas para Mantle. [42] [43] Nvidia ha ampliado OpenGL con una serie de características que reducen aún más la sobrecarga del controlador. [44]
Después de que se hicieran públicos los detalles sobre DirectX 12, AMD declaró que tienen la intención de admitir DirectX 12, pero al mismo tiempo afirmaron que Mantle "[todavía] hará algunas cosas más rápido". También han afirmado que debido a las similitudes en la filosofía de diseño de las dos API, migrar juegos de Mantle a DirectX 12 será relativamente sencillo [45] y más fácil que migrar de DirectX 11 a 12. [23]
Al final, AMD descontinuó Mantle como API de juegos debido a objetivos similares de DirectX 12 y glNext (más tarde rebautizado como Vulkan). [5] [6] AMD donó la API Mantle al grupo Khronos, que la desarrolló hasta convertirla en la API Vulkan. [46] [47] [48] [49] [50] [51]
Comentarios
Gran parte del trabajo que los controladores solían hacer en nombre de una aplicación ahora es responsabilidad del motor del juego . ... También significa que este trabajo, que aún debe realizarse, lo realiza alguien que tiene mucha más información . Como el motor sabe exactamente qué hará y cómo lo hará, es capaz de tomar decisiones de diseño que los conductores no podrían.
—
Firaxis el 28 de abril de 2014, Por qué elegimos Mantle
Software de grabación y superposición de FPS
Los jugadores de PC y los profesionales usaban tradicionalmente programas como Fraps y Bandicam para grabar juegos, medir FPS del juego y mostrar la superposición de FPS, pero debido a que Mantle es nuevo, la mayoría del software de grabación tradicional no funciona con títulos nuevos mientras usan la nueva API.
En asociación con AMD, la comunidad de juegos de PC y el fabricante de software de grabación de juegos Raptr han renovado su cliente y desde entonces lo han rebautizado como cliente AMD Gaming Evolved junto con la iniciativa Gaming Evolved de AMD en el espacio de juegos de PC. Fuera de la asociación, los jugadores que instalen y utilicen el cliente mientras están en el juego pueden ganar puntos para gastar en artículos digitales como juegos o hardware de computadora, chatear con amigos, mantener optimizada su biblioteca de juegos, buscar actualizaciones de controladores de tarjetas gráficas y transmitir sus juegos. a Twitch y grabar su propio juego con un GVR incorporado, una característica similar al software Nvidia Shadowplay en su propio software GeForce Experience que permite a los usuarios definir una longitud de búfer personalizada en su juego para la grabación retroactiva del juego con solo presionar un botón. por lo que no se pierde ningún momento y los usuarios normalmente no necesitan costosas configuraciones de disco duro para grabar. A finales de 2014, AMD actualizó el cliente para admitir la grabación y transmisión de títulos mediante Mantle. [52] A partir de su actualización inicial en el cliente, el software Gaming Evolved era el único software que admitía oficialmente la grabación y transmisión de juegos habilitados para Mantle.
Además de Raptr, D3DGear [53] era el único otro software comercial de grabación de juegos que admitía juegos basados en Mantle API.
Ver también
- Direct3D 12 : API de bajo nivel de Microsoft
- Vulkan : API de bajo costo de Khronos, desarrollada a partir de Mantle
- Glide : otra API de bajo nivel, del ya desaparecido 3dfx
- GNM – API de bajo nivel de PlayStation 4
- GNMX : API de alto nivel de PlayStation 4
- Metal : API de bajo nivel para Apple iOS y macOS
Referencias
- ^ abc Altavilla, Dave (30 de septiembre de 2013). "AMD y DICE desarrollarán conjuntamente una API de estilo de consola para gráficos Radeon". Forbes . Consultado el 14 de julio de 2014 .
- ^ "Las tarjetas gráficas AMD Radeon series R9 y R7 marcan el comienzo de una nueva era de realismo en los juegos". AMD . Consultado el 22 de junio de 2021 .
- ^ abcd "Papel blanco de Mantle" (PDF) . AMD .
- ^ ab Parrish, Kevin (25 de septiembre de 2013). "La API Mantle de AMD brinda a los desarrolladores control directo del hardware". tomshardware.com . Hardware de Tom . Consultado el 1 de octubre de 2013 .
- ^ ab Smith, Ryan (2 de marzo de 2015). "AMD presenta el futuro de Mantle". Anandtech.com . Consultado el 28 de junio de 2016 .
- ^ ab "Uno de los futuros de Mantle: Vulkan | Blogs de AMD".
- ^ "La revolucionaria API de gráficos Mantle de AMD" . Consultado el 4 de octubre de 2017 .
- ^ "Farewell Mantle... AMD ha finalizado todo soporte para la inspiración API de DirectX 12" . Consultado el 15 de mayo de 2019 .
- ^ "Algunas pruebas comparativas de Mantle de AMD". AMD. 2014-02-01.
- ^ abcde "Manto 101". AMD. 2014-05-28. Archivado desde el original el 30 de mayo de 2014.
- ^ "Juegos AMD". 2014-02-01.
- ^ abcd "AMD Livestream en GPU 14 Tech Days". 2013. Archivado desde el original el 27 de septiembre de 2013.
- ^ Smith, Ryan (26 de septiembre de 2013). "Comprensión de Mantle de AMD: una API de gráficos de bajo nivel para GCN". anandtech.com . AnandTech . Consultado el 1 de octubre de 2013 .
- ^ "La próxima generación de API de gráficos". Juegos de óxido. 2014-05-21. Archivado desde el original el 4 de marzo de 2016 . Consultado el 18 de julio de 2014 .
- ^ "La carrera hacia el metal". Josh Barczak. 23 de mayo de 2014.
- ^ "La actuación de Mantle". AMD. 2014-05-28.
- ^ "Análisis de rendimiento de AMD Mantle API con Radeon R7 260X, R9 270X, R9 280X".
- ^ "Tłumacz Google".
- ^ "AMD afirma que el rendimiento aumenta hasta un 45% usando Mantle sobre DirectX | PCGamesN".
- ^ "Motor nitroso insignia con motor AMD Mantle" Star Swarm Benchmark "lanzado en Steam".
- ^ "Página 2 - Comparación comparativa de Mantle de AMD: la mayor innovación en juegos desde DirectX 9 | ExtremeTech".
- ^ "AMD lanza Mantle y comparte cifras de rendimiento".
- ^ abc "Mantle: el comienzo de un futuro con gastos generales reducidos". AMD. 2014-05-28.
- ^ "Combinando un diseño de motor eficiente con una API moderna". 2014-03-20.
- ^ "Mantle en palabras de los desarrolladores de juegos". AMD. 2014-05-28.
- ^ "Cómo Mantle cambia el juego" (PDF) . 2013-11-21.
- ^ "Manto para desarrolladores (por Johan Andersson, DICE)". 2013-11-21.
- ^ "Potenciar la innovación en gráficos 3D". 2013-11-21.
- ^ Smith, Ryan (26 de septiembre de 2013). "Comprensión del manto de AMD". Anandtech.com . Consultado el 28 de junio de 2016 .
- ^ "AMD quiere mejorar los juegos en Linux y Steam con sus herramientas Mantle". 2014-06-18.
- ^ "No se descarta por completo la compatibilidad con Linux". Forónix . 2014-05-31.
- ^ "libcg en Github". GitHub .
- ^ "GRVK en GitHub". GitHub .
- ^ "La compatibilidad con AMD Mantle se dirige a otro motor de juego".
- ^ "Prueba de estrés de Star Swarm en Steam".
- ^ "Mantle Renderer ahora disponible en Battlefield 4".
- ^ "Mantle viaja a las estrellas con Civilization: Beyond Earth de Sid Meier".
- ^ "Sniper Elite 3 aprovechará la API Mantle de AMD".
- ^ "La revolucionaria API de gráficos Mantle de AMD adoptada por los desarrolladores de juegos líderes en la industria Cloud Imperium, Eidos-Montréal y Oxide". AMD . Bolsa de Nueva York: AMD: AMD . 4 de noviembre de 2013. Archivado desde el original el 22 de febrero de 2014 . Consultado el 5 de noviembre de 2013 .
- ^ "Star Citizen incluirá soporte para Mantle". Transmisión . Juegos de Cloud Imperium. 5 de noviembre de 2013 . Consultado el 6 de noviembre de 2013 .
- ^ "Mantle impulsará 15 juegos Frostbite; DICE solicita soporte de múltiples proveedores: The Tech Report".
- ^ "Eficiencia OpenGL: AZDO" (PDF) . Grupo Khronos . Marzo del 2014 . Consultado el 7 de octubre de 2020 .
- ^ "Más allá de la portabilidad: cómo el OpenGL moderno puede reducir radicalmente los gastos generales del controlador". YouTube . 2014-02-11 . Consultado el 7 de octubre de 2020 .
- ^ "Lista de comandos de OpenGL NVIDIA: acercándose a la sobrecarga cero del controlador". 2014-12-04 . Consultado el 7 de octubre de 2020 .
- ^ "Una mirada más cercana a DirectX 12". El informe técnico . 2014-03-30 . Consultado el 7 de octubre de 2020 .
- ^ "Más sobre Vulkan y SPIR - V: El futuro de los gráficos de alto rendimiento" (PDF) . Grupo Khronos. pag. 10 . Consultado el 27 de junio de 2015 .
Gracias AMD!
- ^ Mah Ung, Gordon (6 de marzo de 2015). "Mantle es un Vulkan: la API de gráficos muerta de AMD resurge de las cenizas en el sucesor de OpenGL". Mundo PC.
- ^ "AMD Gaming: Uno de los futuros de Mantle: Vulkan | Blogs de AMD". Comunidad.amd.com . Consultado el 5 de marzo de 2015 .
- ^ Hruska, Joel (4 de marzo de 2015). "Aún no está muerto: Mantle de AMD impulsa la nueva API Vulkan y los esfuerzos de realidad virtual". Tecnología extrema . Consultado el 5 de marzo de 2015 .
- ^ "El manto de AMD sigue vivo en Vulkan: sienta las bases para el próximo OpenGL". Wccftech.com. 2014-06-20 . Consultado el 7 de octubre de 2020 .
- ^ Kirsch, Nathan (3 de marzo de 2015). "¿AMD Mantle está muerto como lo conocíamos? La API de Vulcan utiliza la tecnología Mantle para OpenGL". Reseñas legítimas . Consultado el 7 de octubre de 2020 .
- ^ "AMD Gaming Evolved ahora es compatible con Mantle".
- ^ "Software de grabación de manto D3DGear".
enlaces externos
- Guía de programación de Mantle y referencia de API