Mantle

API de gráficos de bajo nivel de AMD

Mantle era una API de renderizado de baja sobrecarga dirigida a videojuegos en 3D.[3]AMD desarrolló originalmente Mantle en cooperación con DICE, a partir de 2013. 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. En 2015, el desarrollo público de Mantle se suspendió y en 2019 se suspendió por completo, ya que DirectX 12 y Vulkan, derivado de Mantle, aumentaron en popularidad.[4][5][6][7]

Mantle
Información general
Tipo de programa Gráficos 3D por computadora
Desarrollador AMD, DICE[1]
Lanzamiento inicial 25 de septiembre de 2013 (10 años)[2]
Licencia Software propietario
Software gratis
Información técnica
Plataformas admitidas Microsoft Windows
Enlaces

Descripción general editar

Las mejoras en la llamada de sorteo 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 la 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. tubería mediante la eliminación de ciertos aspectos de la abstracción de hardware inherentes a las API de gráficos predominantes actuales OpenGL y Direct3D.[8]

Escenarios vinculados a la CPU editar

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 bajo costo de comandos API;[9][10]
  • Control de búfer de comando explícito;[9]
  • Escalado de rendimiento casi lineal desde la reordenación de búferes de comandos en múltiples núcleos de CPU;[9]
  • Reducción de la sobrecarga de compilación de shaders en tiempo de ejecución;[9]
  • AMD afirma que Mantle puede generar hasta 9 veces más llamadas de sorteo por segundo que las API comparables al reducir la sobrecarga de la CPU;
  • Compatibilidad con procesamiento de CPU paralelo multiproceso para al menos 8 núcleos.

Escenarios vinculados a GPU editar

Mantle también se diseñó para mejorar situaciones en las que se utilizan configuraciones de alta resolución y "máximo detalle", aunque en menor grado, ya que estas configuraciones gravan los recursos de 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 utilice las funciones y optimizaciones de Mantle. Algunas de esas características incluyen:[11][12]

  • Reducción de envíos de buffers de comando
  • Control explícito de la compresión, expansión y sincronización de recursos
  • Cola DMA asíncrona para cargas de datos independientes del motor gráfico
  • Cola de cómputo asíncrona para la superposición de cargas de trabajo de cómputo y gráficos
  • Optimizaciones de formatos de datos a través de acceso flexible a búfer/imagen
  • Funciones avanzadas de antialiasing para optimizaciones MSAA/EQAA[3][9]
  • Compatibilidad nativa con varias GPU[3]

Benchmarks editar

  • Rendimiento superior a Direct3D 11[13]
  • Rendimiento mejorado en Battlefield 4[14][15][16]​ y hasta un 319 % más rápido en la demostración de Star Swarm en configuración de GPU única[17][18][19]​ en situaciones de CPU extremadamente limitada.

Otras reclamaciones editar

  • Más fácil de migrar de Mantle a Direct3D 12 que de Direct3D 11 a Direct3D 12[20]
  • En GDC 14, el empleado de Oxide Games, Dan Baker, declaró que Mantle abordaría los desafíos de desarrollo fundamentales que no podrían abordarse mediante una actualización de una API existente. Es difícil de optimizar para el controlador del dispositivo gráfico.[21][22][23]
  • En la Cumbre de desarrolladores de AMD (APU) en noviembre de 2013, Johan Andersson, director técnico del motor Frostbite en DICE, elogió a Mantle por facilitar el desarrollo y permitir que los desarrolladores innovaran.[24]
  • Objetivos del manto 100K[25]
  • Canalización monolítica[3]
  • Almacenamiento y carga de tuberías[20]
  • Modelo de recursos híbrido
  • 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 de sombreadores en tiempo de ejecución
  • Mejor control sobre el hardware.
  • "Todas las capacidades de hardware están expuestas a través de la API".
  • Reducción de envíos de búfer de comandos
  • Optimizaciones de formatos de datos a través de acceso flexible a búfer/imagen
  • Control explícito de la compresión, expansión y sincronización de recursos
  • Cola DMA asíncrona para cargas de datos independientes del motor gráfico
  • Cola de cómputo asíncrona para la superposición de cargas de trabajo de cómputo y gráficos
  • Nuevas técnicas de renderizado

Soporte editar

La API de 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 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.[26]​ En julio de 2014 la implementación de la API de Mantle estaba disponible para el siguiente hardware:

  • 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: 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ó lanzar Mantle en otras plataformas además de Windows, incluido Linux, pero nunca sucedió.[27][28]

Si bien la API se suspendió oficialmente, Clément Guérin[29]​ inició una capa de traducción de Mantle a Vulkan llamada GRVK[30]​ a mediados de 2020. Esto permite que la API y, en última instancia, los juegos vivan incluso sin los controladores gráficos compatibles con Mantle.

Motores de juego editar

  • En GDC 2014, Crytek anunció que apoyará a Mantle en su CryEngine.[31]
  • Durante una presentación de GPU 14 Tech Days, se anunció que Frostbite 3 incluiría un backend de Mantle.
  • El motor de juegos Nitrous de Oxide Games, junto con DirectX 12. El punto de referencia de Mantle todavía está disponible en una prueba de esfuerzo gratuita de Star Swarm.[32]
  • Thief se basa en un Unreal Engine 3 modificado compatible con Mantle.
  • LORE, un motor de civilization: Beyond Earth compatible con Mantle.
  • Asura, motor utilizado por Sniper Elite III compatible con Mantle.

Videojuegos editar

Originalmente planeado editar

Tecnologías similares editar

Un conjunto de funciones recientes de OpenGL 4.4, junto con texturizado sin encuadernación como una extensión, también pueden reducir sustancialmente la sobrecarga del controlador. Se ha demostrado que este enfoque, denominado por el Grupo Khronos como "AZDO" (Aproximación a la sobrecarga del conductor cero), logra mejoras sustanciales en el rendimiento, acercándose a las establecidas para Mantle.[38][39]Nvidia ha ampliado OpenGL con una serie de características que reducen aún más la sobrecarga del controlador.[40]

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 afirmaron que, debido a las similitudes en la filosofía de diseño de las dos API, la migración de juegos de Mantle a DirectX 12 será relativamente sencilla[41]​ y más fácil que la migración de DirectX 11 a 12.[20]

En última instancia, AMD descontinuó Mantle como una API de juegos debido a los objetivos similares de DirectX 12 y glNext (más tarde rebautizado como Vulkan).[4][5]​ AMD donó la API de Mantle al grupo Khronos, que la convirtió en la API de Vulkan.[42][43][44][45][46][47]

Comentarios editar

Gran parte del trabajo que solían hacer los controladores en nombre de una aplicación ahora es responsabilidad del motor de videojuego. ... También significa que este trabajo, que aún debe hacerse, lo hace alguien con "considerablemente más información". Debido a que el motor sabe exactamente lo que hará y cómo lo hará, puede tomar decisiones de diseño que los conductores no podrían.

Software de superposición de grabación y FPS editar

Los jugadores y profesionales de PC tradicionalmente usaban programas como FRAPS y Bandicam para grabar el juego, medir el 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 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 rebautizado como el 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 instalan y usan 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 su biblioteca de juegos optimizada, buscar actualizaciones de controladores de tarjetas gráficas, transmitir sus juegos. para Twitch y grabar su propio juego con un GVR incorporado, una función 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.[48]​ 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[49]​ era el único otro software comercial de grabación de juegos compatible con juegos basados en la API de Mantle.

Véase también editar

  • Direct3D 12: API de bajo nivel de Microsoft
  • Vulkan: API de bajo costo de Khronos, desarrollada por Mantle
  • Glide: otra API de bajo nivel, por el ahora 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 editar

  1. Altavilla, Dave (30 de septiembre de 2013). «AMD and DICE To Co-Develop Console Style API For Radeon Graphics». Forbes. Consultado el 14 de julio de 2014. 
  2. AMD. «AMD Radeon R9 and R7 Series Graphics Cards Usher in a New Era of Gaming Realism». Consultado el 22 de junio de 2021. 
  3. a b c d «Mantle WhitePaper». AMD. 
  4. a b Smith, Ryan (2 de marzo de 2015). «AMD Lays Out Future of Mantle». Anandtech.com. Consultado el 28 de junio de 2016. 
  5. a b «One of Mantle's Futures: Vulkan | AMD Blogs». 
  6. «AMD's Revolutionary Mantle Graphics API». Consultado el 4 de octubre de 2017. 
  7. «Farewell Mantle… AMD has ended all support for DirectX 12's API inspiration». Consultado el 15 de mayo de 2019. 
  8. «Some Mantle benchmarks by AMD». AMD. 1 de febrero de 2014. 
  9. a b c d e «Mantle 101». AMD. 28 de mayo de 2014. 
  10. «AMD Gaming». 1 de febrero de 2014. 
  11. «The Next Generation of Graphics APIs». Oxide Games. 21 de mayo de 2014. Archivado desde el original el 4 de marzo de 2016. Consultado el 18 de julio de 2014. 
  12. «The Race to the Metal». Josh Barczak. 23 de mayo de 2014. 
  13. «The performance of Mantle». AMD. 28 de mayo de 2014. 
  14. «AMD Mantle API Performance Analysis With Radeon R7 260X, R9 270X, R9 280X». 
  15. «Tłumacz Google». 
  16. «AMD claim performance boosts of up to 45% using Mantle over DirectX | PCGamesN». 
  17. «AMD Mantle Powered Flagship Nitrous Engine "Star Swarm Benchmark" Released on Steam». 
  18. «Page 2 - AMD’s Mantle benchmarked: The biggest innovation in gaming since DirectX 9 | ExtremeTech». 
  19. «AMD releases Mantle, shares performance numbers». 
  20. a b c «Mantle: the start of a low-overhead future». AMD. 28 de mayo de 2014. 
  21. «Combining Efficient Engine Design with a modern API». 20 de marzo de 2014. 
  22. «Mantle in the words of game developers». AMD. 28 de mayo de 2014. 
  23. «How Mantle changes the game». 21 de noviembre de 2013. 
  24. «Mantle for Developers (by Johan Andersson, DICE)». 21 de noviembre de 2013. 
  25. «Empowering 3D Graphics Innovation». 21 de noviembre de 2013. 
  26. Smith, Ryan (26 de septiembre de 2013). «Understanding AMD's Mantle». Anandtech.com. Consultado el 28 de junio de 2016. 
  27. «AMD wants to improve gaming in Linux and Steam boxes with its Mantle tools». 18 de junio de 2014. 
  28. «Linux support isn't ruled out completely». Phoronix. 31 de mayo de 2014. 
  29. «libcg on Github». 
  30. «GRVK on GitHub». 
  31. «AMD Mantle support is headed to another game engine». 
  32. «Star Swarm Stress Test on Steam». 
  33. «Mantle Renderer now available in Battlefield 4». 
  34. «Mantle Takes to the Stars with Sid Meier's Civilization: Beyond Earth». 
  35. «Sniper Elite 3 to tap AMD's Mantle API». 
  36. «Star Citizen to Include Mantle Support». Transmission. Cloud Imperium Games. 5 de noviembre de 2013. Consultado el 6 de noviembre de 2013. 
  37. «Mantle to power 15 Frostbite games; DICE calls for multi-vendor support - The Tech Report». 
  38. «OpenGL Efficiency: AZDO». Khronos Group. marzo de 2014. Consultado el 7 de octubre de 2020. 
  39. «Beyond Porting: How Modern OpenGL Can Radically Reduce Driver Overhead». YouTube. 11 de febrero de 2014. Consultado el 7 de octubre de 2020. 
  40. «OpenGL NVIDIA Command-List: Approaching Zero Driver Overhead». 4 de diciembre de 2014. Consultado el 7 de octubre de 2020. 
  41. «A closer look at DirectX 12». The Tech Report. 30 de marzo de 2014. Consultado el 7 de octubre de 2020. 
  42. «More on Vulkan and SPIR - V: The future of high-performance graphics». Khronos Group. Consultado el 27 de junio de 2015. «Thanks AMD!» 
  43. Mah Ung, Gordon (6 de marzo de 2015). «Mantle is a Vulkan: AMD's dead graphics API rises from the ashes in OpenGL's successor». PCWorld. 
  44. «AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs». Community.amd.com. Consultado el 5 de marzo de 2015. 
  45. Hruska, Joel (4 de marzo de 2015). «Not dead yet: AMD's Mantle powers new Vulkan API, VR efforts». ExtremeTech. Consultado el 5 de marzo de 2015. 
  46. «AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL». Wccftech.com. 20 de junio de 2014. Consultado el 7 de octubre de 2020. 
  47. Kirsch, Nathan (3 de marzo de 2015). «Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL». Legit Reviews. Consultado el 7 de octubre de 2020. 
  48. «AMD Gaming Evolved Now Supports Mantle». 
  49. «D3DGear Mantle Recording Software». 

Enlaces externos editar