API de renderizado con bajo consumo de recursos
Mantle era una API de renderizado de bajo consumo orientada 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 es compatible con las GPU presentes en PlayStation 4 y Xbox One . [1] [4] En 2015, el desarrollo público de Mantle se suspendió y en 2019 se interrumpió por completo, ya que DirectX 12 y Vulkan derivado de Mantle aumentaron en popularidad. [5] [6] [7] [8]
Descripción general
Las mejoras en la llamada de dibujo 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 las aplicaciones utilicen las CPU y las 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 el flujo de gráficos al eliminar ciertos aspectos de la abstracción de hardware inherentes a las API de gráficos prevalecientes actuales OpenGL y Direct3D. [9]
Escenarios limitados por 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 bajo consumo de recursos; [10] [11]
- Control de búfer de comandos explícitos; [10]
- Escalabilidad del rendimiento casi lineal a partir de la reordenación de los buffers 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 dibujo por segundo que las 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 limitados por GPU
Mantle también fue diseñado para mejorar situaciones en las que se utilizan resoluciones altas y configuraciones de "máximo detalle", aunque en un grado algo menor, ya que estas configuraciones exigen recursos de la GPU de una manera que es más difícil de mejorar a nivel de API. Si bien Mantle proporciona algunas características integradas para mejorar el rendimiento limitado por la GPU, las ganancias en estos casos dependen en gran medida de qué tan bien el motor del juego utilice las características y optimizaciones de Mantle. Algunas de esas características incluyen: [14] [15]
- Reducción de envíos de buffers de comandos
- Control explícito de compresión, expansión y sincronización de recursos
- Cola DMA asincrónica para cargas de datos independientes del motor gráfico
- Cola de cómputo asincrónica para superposición de cargas de trabajo de cómputo y gráficos
- Optimizaciones de formatos de datos mediante acceso flexible a búferes e imágenes
- Funciones avanzadas de suavizado de bordes para optimizaciones MSAA/EQAA [3] [10]
- Compatibilidad nativa con 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 la GDC 14, el empleado de Oxide Games, Dan Baker, afirmó que Mantle abordaría desafíos de desarrollo fundamentales que no se podrían abordar con una actualización de una API existente. Es difícil optimizarlo para el controlador del dispositivo gráfico. [24] [25] [26]
- En la Cumbre de desarrolladores de AMD (APU) de noviembre de 2013, Johan Andersson, director técnico del motor Frostbite en DICE, elogió a Mantle por facilitar el desarrollo y permitir a los desarrolladores innovar. [27]
- El manto apunta a 100 000 [28]
- Tubería monolítica [3]
- Ahorro 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 la 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 los envíos de búfer de comandos
- Optimizaciones de formatos de datos mediante acceso flexible a búferes e imágenes
- Control explícito de la compresión, expansión y sincronización de recursos
- Cola DMA asincrónica para cargas de datos independientes del motor gráfico
- Cola de cómputo asincrónica para superposición de cargas de trabajo de cómputo y gráficos
- Nuevas técnicas de renderizado
Apoyo
La API Mantle solo estaba disponible como parte de AMD Catalyst antes de la versión 19.5.1, que estaba disponible para Microsoft Windows . AMD prometió admitir su API Mantle solo 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] A partir de julio de 2014, [actualizar]la implementación de la API Mantle estaba disponible para el siguiente hardware: [ cita requerida ]
- ciertas GPU de la serie Radeon HD 7000
- ciertas GPU de la serie Radeon HD 8000
- ciertas GPU de la serie AMD Radeon Rx 200 ("R7" y "R9")
- Todas las APU "Kaveri" basadas en Steamroller : serie AMD A10-7000 y serie AMD A8-7000
- todas las APU "Kabini" y "Temash" basadas en Jaguar : serie AMD E1-2000, serie E2-3000, serie A4-1200, serie A4-1350, serie A4-5000, 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ó lanzar Mantle 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 existiendo incluso sin que Mantle admita controladores gráficos.
Motores de juego
- En GDC 2014, Crytek anunció que soportará 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 benchmark 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 soportaba 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 la textura sin enlaces como extensión, también puede reducir sustancialmente la sobrecarga del controlador. Se ha demostrado que este enfoque, denominado por el Grupo Khronos como " AZDO " (Approaching Zero Driver Overhead), 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 ha declarado que tiene la intención de dar soporte total a DirectX 12, pero al mismo tiempo afirmó que Mantle "seguirá haciendo algunas cosas más rápido". También ha afirmado que debido a las similitudes en la filosofía de diseño de las dos API, portar juegos de Mantle a DirectX 12 será relativamente sencillo [45] y más fácil que portar de DirectX 11 a 12. [23]
Finalmente, AMD descontinuó Mantle como API de juegos debido a los 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 realizar en nombre de una aplicación ahora es responsabilidad del motor del juego ... También significa que este trabajo, que todavía debe realizarse, lo realiza alguien con mucha más información . Debido a que el motor sabe exactamente qué hará y cómo lo hará, puede tomar decisiones de diseño que los controladores no podí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 tradicionalmente usaban programas como Fraps y Bandicam para grabar el juego, medir los FPS del juego y mostrar la superposición de FPS, pero como Mantle es nuevo, la mayoría del software de grabación tradicional no funciona con nuevos títulos mientras usa 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 revisado su cliente y desde entonces lo han renombrado como el cliente AMD Gaming Evolved en conjunto con la iniciativa Gaming Evolved de AMD en el espacio de juegos de PC. Fuera de la asociación, los jugadores que instalan y usan el cliente mientras juegan pueden ganar puntos para gastar en artículos digitales como juegos o hardware de computadora, chatear con amigos, mantener su biblioteca de juegos optimizada, verificar actualizaciones de controladores de tarjetas gráficas, 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 para que no se pierda ningún momento y los usuarios generalmente no necesiten configuraciones de disco duro costosas para grabar. A fines de 2014, AMD actualizó el cliente para admitir la grabación y transmisión de títulos utilizando 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] fue el único otro software de grabación de juegos comercial que admitía juegos basados en Mantle API.
Véase también
- Direct3D 12 : API de bajo nivel de Microsoft
- Vulkan : API de bajo consumo de recursos de Khronos, desarrollada a partir de Mantle
- Glide : otra API de bajo nivel, del ahora extinto 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 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 "Libro blanco de Mantle" (PDF) . AMD .
- ^ ab Parrish, Kevin (25 de septiembre de 2013). "La API Mantle de AMD ofrece a los desarrolladores control directo del hardware". tomshardware.com . Tom's Hardware . 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 gráfica Mantle de AMD" . Consultado el 4 de octubre de 2017 .
- ^ "Adiós Mantle... AMD ha finalizado todo soporte para la inspiración API de DirectX 12" . Consultado el 15 de mayo de 2019 .
- ^ "Algunos benchmarks de Mantle realizados por AMD". AMD. 1 de febrero de 2014.
- ^ abcde "Mantle 101". AMD. 28 de mayo de 2014. Archivado desde el original el 30 de mayo de 2014.
- ^ "Juegos AMD". 1 de febrero de 2014.
- ^ abcd "Transmisión en vivo de AMD 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". Oxide Games. 21 de mayo de 2014. 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.
- ^ "El rendimiento de Mantle". AMD. 28 de mayo de 2014.
- ^ "Análisis del rendimiento de la API de AMD Mantle con Radeon R7 260X, R9 270X, R9 280X".
- ^ "Buscar Google".
- ^ "AMD afirma mejoras de rendimiento de hasta un 45% al usar Mantle en lugar de DirectX | PCGamesN".
- ^ "El motor nitroso estrella "Star Swarm Benchmark" impulsado por AMD Mantle se lanzó en Steam".
- ^ "Página 2 - Comparación entre Mantle de AMD: la mayor innovación en juegos desde DirectX 9 | ExtremeTech".
- ^ "AMD lanza Mantle, comparte cifras de rendimiento".
- ^ abc "Mantle: el comienzo de un futuro con bajos costos operativos". AMD. 28 de mayo de 2014.
- ^ "Combinando un diseño de motor eficiente con una API moderna". 20 de marzo de 2014.
- ^ "Mantle en palabras de los desarrolladores de juegos". AMD. 28 de mayo de 2014.
- ^ "Cómo Mantle cambia el juego" (PDF) . 2013-11-21. Archivado desde el original (PDF) el 2014-08-11 . Consultado el 2014-07-18 .
- ^ "Mantle para desarrolladores (por Johan Andersson, DICE)". 21 de noviembre de 2013.
- ^ "Potenciando la innovación en gráficos 3D". 21 de noviembre de 2013.
- ^ Smith, Ryan (26 de septiembre de 2013). "Understanding AMD's Mantle". Anandtech.com . Consultado el 28 de junio de 2016 .
- ^ "AMD quiere mejorar los juegos en sistemas Linux y Steam con sus herramientas Mantle". 18 de junio de 2014.
- ^ "No se descarta por completo el soporte para Linux". Phoronix . 2014-05-31.
- ^ "libcg en Github". GitHub .
- ^ "GRVK en GitHub". GitHub .
- ^ "El soporte de 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 llega a las estrellas con Sid Meier's Civilization: Beyond Earth".
- ^ "Sniper Elite 3 aprovechará la API Mantle de AMD".
- ^ "La revolucionaria API gráfica Mantle de AMD fue adoptada por los principales desarrolladores de juegos de la industria, Cloud Imperium, Eidos-Montréal y Oxide". AMD . NYSE: 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 . Cloud Imperium Games. 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) . Khronos Group . Marzo de 2014 . Consultado el 7 de octubre de 2020 .
- ^ "Más allá de la portabilidad: cómo el OpenGL moderno puede reducir radicalmente la sobrecarga del controlador". YouTube . 2014-02-11 . Consultado el 2020-10-07 .
- ^ "Lista de comandos NVIDIA para OpenGL: se acerca a cero la sobrecarga del controlador". 2014-12-04 . Consultado el 2020-10-07 .
- ^ "Una mirada más cercana a DirectX 12". The Tech Report . 2014-03-30 . Consultado el 2020-10-07 .
- ^ "Más sobre Vulkan y SPIR-V: El futuro de los gráficos de alto rendimiento" (PDF) . Khronos Group. p. 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". PCWorld.
- ^ "AMD Gaming: Uno de los futuros de Mantle: Vulkan | Blogs de AMD". Community.amd.com . Consultado el 5 de marzo de 2015 .
- ^ Hruska, Joel (4 de marzo de 2015). "Todavía no está muerto: Mantle de AMD impulsa la nueva API de Vulkan y los esfuerzos de VR". ExtremeTech . 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 2020-10-07 .
- ^ Kirsch, Nathan (3 de marzo de 2015). "¿AMD Mantle está muerto tal como lo conocíamos? Vulcan API utiliza tecnología Mantle para OpenGL". Legit Reviews . 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 y referencia de API de Mantle