DirectStorage 1.2: menor tiempo de carga en HDD y mejoras de rendimiento

Con los SSD hemos visto un gran aumento de fluidez en nuestros PC, tanto a la hora de encenderlos como transferir archivos o usar distintos programas. Sin embargo, en juegos no hemos podido aprovechar los SSD NVMe y hasta con un SATA mucho más lento funcionan de forma semejante. Microsoft DirectStorage llegó para cambiar eso y ahora se actualiza a la versión 1.2, añadiendo nuevas mejoras, correcciones de errores y reduciendo los tiempos de carga si usamos discos duros.

A la hora de comprarnos un PC gaming o actualizar nuestro ordenador actual, siempre se recomienda adquirir un SSD antes que un HDD. La razón es obvia, pues con los SSD tendremos una velocidad mucho mayor junto a una fluidez que un disco duro no podría conseguir. En vez de esperar uno o dos minutos para iniciar Windows, lo haremos en 10 segundos y lo mismo en programas y juegos. La diferencia es bastante grande y aun así, los últimos SSD PCIe 4.0 o incluso los 5.0 no nos traen muchos cambios. Nos ofrecen una transferencia de datos mucho más rápida sí, pero se podría decir que ahí acaban las ventajas para muchos usuarios.

Microsoft DirectStorage 1.2 ya está disponible con varias mejoras

SSD-DirectStorage

Comprarnos un SSD PCIe de alta velocidad para jugar no ha dado los resultados que muchos esperaban. Los jugadores querían ver si se reducían los tiempos de carga en sus juegos favoritos, pero en la mayoría de casos son similares a los de un SSD SATA más barato y lento. Al menos esto era así antes de la llegada de Microsoft DirectStorage, la API que se encarga de reducir la carga de la CPU y aprovechar la velocidad de los SSD NVMe. Básicamente lo que hace esta es hacer que los datos pasen del SSD a la tarjeta gráfica, pasando por la RAM y evitando el uso de la CPU.

De esta tecnología hemos hablado en numerosas ocasiones y su principal ventaja es en juegos, donde su implementación disminuirá los tiempos de carga aprovechando mejor la velocidad de los SSD NVMe. Ahora Microsoft ha anunciado que DirectStorage 1.2 está disponible y trae una serie de mejoras. La primera de todas es Force Buffered IO, lo que permitirá a los discos duros antiguos reducir los tiempos de carga.

Para activarlo, tendremos que poner TRUE en DSTORAGE_CONFIGURATION1, ubicado en el apartado ForceFileBuffering. Eso sí, indican que esto es responsabilidad del usuario y solo recomiendan activarlo con discos duros lentos o antiguos.

Además de sus dos funciones nuevas, arregla varios bugs

Microsoft-DirectStorage-Portada

Otro de los cambios de Microsoft DirectStorage 1.2 es la nueva API GetCompressionSupport. Esta llega para informar sobre que ruta de compresión ha elegido DirectStorage. Y es que, esta tecnología decide generalmente el formato de compresión dependiendo de nuestra GPU, pero en ocasiones elige este usando nuestra CPU. Dadas las claras diferencias entre una y otra, los desarrolladores pedían una forma de comprobarlo y ahora ya es posible.

Escribiendo IDStorageQueue2::GetCompressionSupport() se nos devuelve un valor que no indica el tipo de descompresión usada. Por último, pondremos las mejoras y corrección de errores que han llegado con esta actualización.

Corrección de errores en Microsoft DirectStorage 1.2:

  • https://github.com/microsoft/DirectStorage/issues/22 añadiendo un campo "Reserved1" a DSTORAGE_REQUEST_OPTIONS. Esto hace que la disposición en memoria de la estructura sea más explícita.
  • Se ha corregido DSTORAGE_REQUEST_DESTINATION_TEXTURE_REGION para las texturas 3D.
  • Se ha solucionado un problema de programación que se manifestaba al transferir datos sin comprimir de la memoria a los búferes.

Mejoras de rendimiento:

  • Se ha trasladado la copia después de la descompresión de la GPU a la cola de cálculo para las GPU en las que esto es más rápido.