Mantle
# Mantle

Mantle era una API de renderizado de baja sobrecarga dirigida a videojuegos en 3D. 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.

## Descripción general

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.

### 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 bajo costo de comandos API;
* Control de búfer de comando explícito;
* Escalado de rendimiento casi lineal desde la reordenación de búferes de comandos en múltiples núcleos de CPU;
* Reducción de la sobrecarga de compilación de shaders en tiempo de ejecución;
* 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

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:

* 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
* Compatibilidad nativa con varias GPU

### Benchmarks

* Rendimiento superior a Direct3D 11
* Rendimiento mejorado en Battlefield 4 y hasta un 319 % más rápido en la demostración de Star Swarm en configuración de GPU única en situaciones de CPU extremadamente limitada.

### Otras reclamaciones

* Más fácil de migrar de Mantle a Direct3D 12 que de Direct3D 11 a Direct3D 12
* 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.
* 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.
* Objetivos del manto 100K
* Canalización monolítica
* Almacenamiento y carga de tuberías
* 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

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. 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ó.

Si bien la API se suspendió oficialmente, Clément Guérin inició una capa de traducción de Mantle a Vulkan llamada GRVK 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

* En GDC 2014, Crytek anunció que apoyará a Mantle en su CryEngine.
* 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.
* 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

* Battlefield 4
* Battlefield Hardline
* Thief
* Plants vs. Zombies: Garden Warfare
* Civilization: Beyond Earth
* Dragon Age: Inquisition
* Sniper Elite III

**Originalmente planeado**

* Star Citizen
* Se planearon 15 juegos de Frostbite posteriores Battlefield 4 para apoyar a Mantle, incluidos potencialmente Need for Speed Rivals, Mass Effect: Andromeda, Mirror's Edge Catalyst, The Sims 4 y Star Wars Battlefront (2015).
* Ha habido rumores sobre otros juegos de esa época, incluidos Call of Duty: Advanced Warfare, Dying Light, Grand Theft Auto V y Rise of the Tomb Raider que podrían respaldar a Mantle, pero estos informes no fueron confirmados.

## Tecnologías similares

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. Nvidia ha ampliado OpenGL con una serie de características que reducen aún más la sobrecarga del controlador.

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 y más fácil que la migración de DirectX 11 a 12.

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). AMD donó la API de Mantle al grupo Khronos, que la convirtió en la API de Vulkan.

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

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. 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 era el único otro software comercial de grabación de juegos compatible con juegos basados en la API de Mantle.

