domingo, 16 de octubre de 2022

Microsoft DirectStorage 1.1: adiós al cuello de botella por la CPU

Si todavía no ha debutado como tal DirectStorage en juegos Triple A, Microsoft va un paso por delante y anuncia de forma repentina una nueva variante de esta tecnología, la cual asciende ahora a DirectStorage 1.1. Las novedades son muy interesantes desde el punto de vista del hardware, puesto que con DirectStorage 1.1 se añade descompresión por GPU, lo que tiene importantes mejoras de rendimiento en los juegos.

La versión preliminar y todavía no usada por ningún juego ya dejó un buen sabor de boca al mejorar el rendimiento entre el SSD y la GPU, así como con la CPU en los casos que fuese necesario. Pero el procesador sigue siendo muy necesario para realizar trabajos que son fácilmente paralelizables, y ahí es donde entra Microsoft en el juego una vez más.

Microsoft DirectStorage 1.1, llega la descompresión de archivos por GPU

Es bien sabido que cualquier juego actual requiere de una cantidad de datos inmensa para poder representar una escena y como viene siendo habitual, arrastramos el problema de que todo tenga que pasar por el procesador para ser trabajado y devolverlo o exportarlo a la GPU o RAM, incluso a ambos en muchas ocasiones.

Debido al tamaño de los registros y cachés de cada CPU, la memoria RAM cobra un importante sentido en el hecho de almacenar esta información, la cual se va mandando al procesador para que trabaje los datos. Por ello, es necesario comprimirlos, para que así la CPU pueda trabajarlos descomprimiéndolos y luego mandándolos a la GPU, en concreto a la VRAM ya listos para la pipeline.

Esto implica que los tiempos de carga y las draw calls son limitados por el rendimiento de la CPU y la RAM. DirectStorage 1.0 quitaba parte de ese límite al acceder directamente al SSD para poder importar ciertos datos desde un modelo NVMe, pero igualmente los datos comprimidos se mandaban al procesador por motivos evidentes de "velocidad". Ahora esto cambia, puesto que DirectStorage 1.1 introduce la descompresión por GPU.

Un rendimiento increíble a coste cero para el usuario

Los datos que ha mostrado Microsoft en una muestra de software muy optimizada para la tarea revelan que con el trabajo necesario por parte del programador se puede lograr aumentar el rendimiento casi 3 veces, lo que es lo mismo, cargar una escena en VRAM casi tres veces más rápido y sobre todo, liberar en un 85% a la CPU de esta tarea de descompresión. Esto deja al procesador más libre para realizar otras tareas anexas en el juego, pudiendo empujar más los FPS.

Microsoft DirectStorage 1.1 con descompresión por GPU funcionará en Windows 10 y Windows 11, pero este último tiene una mejor optimización para los IO. En cuanto a los dispositivos de almacenamiento, Microsoft recomienda un SSD NVMe por su mayor rendimiento, o que al menos los archivos del juego se guarden en este tipo de unidades de estado sólido para ver las mejoras de esta API.

Por último, nos queda saber los requerimientos de GPU, donde Microsoft asegura que cualquiera que sea compatible con DirectX 12 podrá usar DirectStorage 1.1, pero también requerirá Shader Model 6.0, lo que significa que en AMD será desde la arquitectura GNC 2.0 (Radeon RX 200 en adelante, hay algunas excepciones, como las HD 7790 o las HD 8770 que son arquitectura Bonaire) y en NVIDIA desde Maxwell (GTX 900 en adelante).

Igualmente, Microsoft no ha revelado la fecha de llegada de DS 1.1, pero ya está recomendando a los programadores que comiencen a dominar su versión 1.0, porque los requerimientos necesitarán un control de las IO y cuatro nuevas solicitudes de recursos de GPU.

Saludos.

No hay comentarios:

Publicar un comentario

Por favor sé respetuoso/a y escribe adecuadamente. Gracias.