APIs Next Gen

Toda información aquí presente puede está sujeta a futuras modificaciones ya que todavía no se ha dado por finalizada la especificación de DX12 y Vulkan ni sus herramientas.

Índice: 1. Niveles de compatibilidad y tabla de hardware. 2. Benchmarks.

1. Niveles de compatibilidad y tabla de hardware.

Para garantizar compatibilidad con distinto hardware, DX12 distingue entre 4 feature levels. Cada uno describe una serie de características a nivel de hardware que tiene que llevar la GPU. Se sobre entiende que para pertenecer a un determinado feature level se deben incluir también las características de los anteriores.

2 de ellos heredan directamente de DX11 y otros 2 son completamente nuevos. Solo voy a entrar en detalle en los nuevos, que es donde todavía hay dudas. Estos 4 son:

FEATURE LEVEL 11.0 FEATURE LEVEL 11.1

FEATURE LEVEL 12.0 FEATURE LEVEL 12.1

Las características correspondientes a los features level nuevos son las siguientes:

B47WPmC.jpg

En cuanto a los resource binding tier, son los siguientes:

microsoft_directx_12_resource_binding_tiers.png

Con el SDK beta de este mes para W10 se ha actualizado la herramienta DirectX Caps Viewer con información relativa a los nuevos feature level, y se ha sacado información de las siguientes GPUs.

GTX980.png GTX680.png Iij1wKV.png GTX750Ti.png

290X.png 285.png 7970.png

En función a esta información, se ha extrapolado a las distintas arquitecturas, y se ha elaborado de manera general la siguiente tabla:

DX%20Feature%20Levels_2.jpg

2. Resultados

3DMark API Overhead Test: Este benchmark que viene con la versión de pago de 3DMark bombardea la GPU a base de drawcalls, aumentando progresivamente la complejidad de la escena, hasta el punto en el que los fps bajan de 30. En ese momento el benchmark se detiene y toma las drawcalls por segundo como una referencia del rendimiento.

http://www.pcper.com/reviews/Graphics-Cards/3DMark-API-Overhead-Feature-Test-Early-DX12-Performance dx12-980.png dx12-290x.png

Fable Legends: Aquí la mejora viene de la mano de la GPU, donde DX12 tarda casi 5ms menos en renderizar un frame que DX11.

DX11: 20.5ms -> 48.8 fps DX12: 15.8ms -> 63.3 fps

Vemos aproximadamente un 30% de mejora de rendimiento, sin conocer el hardware sobre el que se produce.

dx-11-style-sync.jpg dx-12-style-sync.jpg

GPX3eQq.jpg

En progreso...