El mundo de los drivers gráficos se hizo un poco más grande cuando AMD presentó Mantle, su API gráfica que quiere competir con las DirectX de Microsoft, y al igual que estas, es software propietario. Mantle sirve para las tarjetas gráficas con arquitectura Graphics Core Next de AMD, incorporada en la Serie HD 7000 y las más actuales Serie R7 y R9.

API de Mantle

Poniendo en situación brevemente a los que no sepáis qué es una API gráfica, es simplemente la forma en que un programador puede comunicarse con la tarjeta gráfica para decirle que genere las imágenes que veremos en nuestros monitores. Pero a diferencia de lo que ocurre en el mundo de las consolas, esas APIs deben tener en cuenta una gran diversidad de arquitecturas hardware, sistemas operativos y plataformas en general que suelen producir bajadas de rendimiento en el procesamiento gráfico.

Mantle es la respuesta de AMD para eliminar esas bajadas de rendimiento con un concepto más cercano a lo que se hace en consolas: una API por y para las tarjetas gráficas Radeon. AMD propone a los desarrolladores que las tarjetas no tengan que hacer comprobaciones como el tipo de tarjeta en el que se va a ejecutar un comando, si una instrucción es correcta, etc. Al fin y al cabo, la mayoría de los motores gráficos modernos hacen ya estas comprobaciones, y que las tenga que hacer también las tarjetas es redundante y sólo afecta al rendimiento de las mismas.

La analogía directa es el envío de información a través de las redes de datos. Si hace más de una década las conexiones eran lentas y poco fiables, y se necesitaba establecer políticas de comprobación constantemente de la información que se enviaba y recibía en la propia red y equipo del usuario, hoy en día esas comprobaciones ya casi no existen dando por supuesto que el mínimo porcentaje de pérdidas que vaya a haber en una comunicación lo va a terminar solucionando la propia aplicación que la solicita. Es una simplificación, pero es exactamente lo que ocurre en las peticiones a las APIs de las tarjetas gráficas.

BF4-Screenshot-Mantle

Mejoras de rendimiento

Dicho esto, y dejando mi alma de teleco a un lado, vamos a entrar a lo que realmente nos importa: ¿mejora Mantle realmente el rendimiento? El lanzamiento de los drivers beta Catalyst 14.3, en los que van incluidos la API de Mantle, ha abierto la posibilidad a probarla con el juego Thief, además de con Battlefield 4. Los resultados son cuanto menos interesantes, ya que si BF4 es un juego multijugador en el que debe predominar la rapidez a la hora de presentar las acciones aleatorias de los jugadores, Thief es un juego de un sólo jugador en el que se sabe de antemano qué es con lo que se va a encontrar el jugador, lo que ayuda a mejorar sin duda la calidad gráfica del juego, y puedo sacar más partido a Mantle.

Con la reducción de información en las solicitudes a la API de Mantle viene la posibilidad de utilizar de una forma más eficiente la CPU de un PC. Por eso en equipos con CPUs menos potentes consiguen sacarle más partido a la potencia de las tarjetas Radeon actuales. En las siguientes gráficas podéis ver el rendimiento de Thief con gráficos en Muy alto en procesadores de seis y 2 núcleos, y en Bajo con procesadores de seis y dos núcleos, tanto con una R9 290X como una R7 260X. Puesto que los tests que realiza AnandTech son realmente buenos, cogeré los que han realizado ellos al juego Thief.

61930
61931

Empezando por el último, la R7 260X con Mantle no consigue sacarle un mejor rendimiento a las DirectX 11, y se quedan en empate técnico. En donde sí se consigue notar diferencia es cuando se tiene restricción en la CPU (doble núcleo, cuatro hilos de ejecución), en el que logra más de un 20% de mejoría en los fps.

En el caso de la más potente R9 290X, la historia es muy distinta. Con limitación de CPU (doble núcleo, cuatro hilos), configurando los gráficos a Bajo se obtiene un 50% más de rendimiento, y cuando se tiene mejor CPU (seis núcleos, 12 hilos), también se obtiene un 35% de mejoría al desahogar más la CPU y dejarla más tiempo para que procese información adicional (o mejor aún, que se mantenga inactiva para otros procesos o que simplemente no consuma energía). En el caso de configurarlo a calidad Muy alta, sólo se nota mejoría con CPUs poco potentes.

Es el efecto "cuello de botella" que producen las CPUs sobre la potencia de las GPUs. El mundo de las tarjetas gráficas ha evolucionado muy rápido, y las CPUs y las APIs no tanto. Con Mantle se consigue una menor limitación de la auténtica potencia gráfica que tienen tarjetas como la R9 290X, y seguramente donde AMD pueda combinar mejor Mantle con sus APUs que incluyen las consolas PlayStation 4 y Xbox One.

El futuro de Mantle

Las mejoras de rendimiento de Mantle abren la puerta a nuevas mejoras que se puedan hacer a los juegos en el apartado gráfico. Aprovechar esa disminución de uso de la GPU (y CPU) para aumentar la calidad y cantidad de efectos que se manejan en un momento dado en pantalla.

Ahora bien, Microsoft va a presentar en las próximas horas DirectX 12, y tiene toda la pinta de que va a seguir un planteamiento igual que el de Mantle: pasarle la pelota a los motores gráficos para que hagan la mayoría de las comprobaciones para reducir el procesamiento que tienen que realizar las tarjetas gráficas.

Vía: AnandTech, AnandTech.