Microsoft lanza DirectStorage para PC, un nuevo sistema de E/S para aprovechar al máximo el SSD NVMe

En septiembre de 2020 Microsoft anunció que DirectStorage, uno de los sistemas clave de Xbox Velocity Architecture de Xbox Series, estaría disponible en Windows PC. Ha costado un poco, pero finalmente la compañía cumple su promesa y la API de DirectStorage ya se encuentra al alcance de cualquier desarrollador interesado en que su juego use esta interfaz.

En su blog dedicado a los desarrolladores, Microsoft afirma que el lanzamiento del SDK de DirectStorage abre “una nueva era” para los tiempos de carga más rápidos y los mundos más detallados en los juegos de PC. Cierto es que las unidades de almacenamiento SSD NVMe han sido una de las grandes apuestas de la nueva generación de consolas, pero la gran mayoría de los jugadores de PC han pasado por el SSD, así que el salto no será tan extraordinario como en PS5 o Xbox Series. Sin embargo, los números de DirectStorage hablan por sí solos.

Pero antes de entrar en cifras, ¿qué es y cómo funciona DirectStorage?. DirectStorage es un nuevo sistema de E/S (Entrada/Salida) diseñado específicamente para que los juegos funcionen al 100 % del rendimiento del SSD y la descompresión de hardware. Los juegos actuales transmiten una gran cantidad de activos para cargar continuamente lo que se tiene que ver en pantalla, y el trabajo de DirectStorage es reducir la carga del procesador a la hora de hacer estas operaciones de E/S. La potencia que se ahorra la CPU se puede usar en otras áreas, como la física, la inteligencia artificial o poner más NPCs en pantalla.

Imagen

Xbox Series monta un SSD NVMe que ofrece 2,4 GB/s de rendimiento de E/S, lo que puede dar lugar a 35.000 solicitudes de entrada y salida de datos (sin comprimir). Las APIs actuales no están preparadas para gestionar esta cantidad de datos y forman un cuello de botella que impide aprovechar todo el ancho de banda del SSD NVMe, así que el trabajo de DirectStorage es gestionar estas operaciones para que sean más eficientes y la CPU no tenga tanto trabajo. La API también entrega a los desarrolladores el control sobre las operaciones de E/S.

En Xbox Series y según Microsoft, DirectStorage tiene la capacidad de ofrecer “acceso inmediato de bajo nivel a más de 100 GB de datos almacenados en el SSD para cuando el juego lo requiera”. En Xbox Series todo el mundo tiene un SSD NVMe de las mismas características, pero en PC no. DirectStorage tiene soporte para Windows 10, aunque Microsoft recomienda usar Windows 11, y admite SSD NVMe con bus PCIe 3.0 y PCIe 4.0. Así pues, su rendimiento puede variar en función del sistema operativo y el tipo de almacenamiento.

En cualquier caso, DirectStorage no llegará a los juegos de Windows PC del día a la noche. Uno de los primeros títulos en usar esta API será Forspoken, que la semana pasada retrasó su lanzamiento al 11 de octubre.

Fuente: The Verge
a ver si esto soluciona mis rascadas de fps al acceder al ssd, es una pena tener una 3080 y no llegar a tener la suavidad que tienen las consolas next gen en las transiciones entre cargas y en los CGI de carga camuflada
Ahora falta que los desarrolladores los implementen en sus juegos
Ojala podamos aprovecharlo en las pc actuales y no tengamos que actualizar equipos para utilizarlo.
Ya se vera que chipsets u otros requisitos pidan para poderlo activar.
@masterkyo

En serio?

No sé qué equipo calzas, desde un mecánico ya puedes disfrutar sin problema al 70% catálogo (si este está sano y ofrezca 120mb/s de lectura.

El juego más evidente que se necesita un SSD es el Forza Horizon donde puedes perder hasta 12fps en el circuito Godzilla pero llendo a 320km/h de media!!

Ahora uso un 970 evo 1tb y con el osd hwinfo en cargas no se pasa de los 380mb/s

Vamos, que no nos flipemos ya que un SSD Toshiba sata o 860 evo ya te dan todo lo necesario sin afectar al redimiento, en todo caso ayudará la dram caché de los nvme tochos en los tiempos de carga repetidas de cuando le das a repetir/ o te matan.

Aunque la RAM y vram ya hacen su cometido y por ahora no se necesita más de 400mb/s en lectura.

Como no sea para usarla ahora los nvme como caché extra vram (como se hace con la RAM para hacer un ramDisk pero de texturas ya procesadas.

Pero joder sería una vergüenza no optimizar los 8gb vram para 1440p
Perfecto, con esto llega el momento para pasarme de SSD sata a SSD NVMe :)
Ya era hora. A ver si así empieza a usarse en consolas ahora que también está para PC.

Veo que se ha implementado una solución software, por lo que en PC no será necesario ese RTX I/O de comunicación directa con la GPU. Decisión acertada, así puede usarse sin peros por incompatibilidad.
Pregunta: ¿Qué diferencia hay con el DMA de toda la vida?
ROTOR escribió:Pregunta: ¿Qué diferencia hay con el DMA de toda la vida?


Es una extraordinaria pregunta.

Me pilla lejos el tema del DMA, pero si no recuerdo mal su caso de uso era mover datos de una memoria a otra sin depender de interrumpir la CPU ocupando el bus de datos y direcciones mientras termina la operación (con matices).

Estoy seguro al 100% de que al no depender de hardware nuevo, DirectStorage simplemente usa de otra forma los controladores DMA que tienen todos los componentes, seguro que se basa en DMA.
A ver si también se aplica a la Aya Neo Pro, que básicamente es un PC.
Los PCs cada vez se parecen más a las consolas.
jaiabbae escribió:Los PCs cada vez se parecen más a las consolas.


No será que las consolas se parecen cada vez mas al pc?
Lo de los juegos lo veo cojonudo, ¿pero y otro tipo de software? ¿se podría aprovechar esta api para abrir otros programas de forma instantánea como Photoshop, Adobe Premier, Unreal engine navegadores, emuladores, correo, etc, etc.?

Es un poco coñazo que en pleno 2020 tengamos que esperar más de 5 segundos para abrir ciertos programas.
Ya tocaba, tengo un NVMe de adorno porque practicamente no hay diferencia entre el Sata3 de 500mbs y el nvme de 3,5gbs.

A ver si es verdad y se nota como en PS5
Solo para los nvme? Vaya chusta
Lo chulo sería que pasara del NVMe a la VRAM... eso sí sería Direct Storage...
ROTOR escribió:Pregunta: ¿Qué diferencia hay con el DMA de toda la vida?

En un PC de toda la vida la forma de uso, es más bien una implementación de una especificación con los medios de siempre, estableciendo unas normas, que en este caso es que la descompresión siempre la hará la GPU.
En hardware preparados como Xbox Series (XVA) o el anunciado RTX I/O para PC, la transferencia es directa entre el SSD y la VRAM con la asistencia del hardware, y en caso de la consola se incluye la descompresión en dicha asistencia, en RTX I/O aún no está claro si es hardware o meramente por computación de la GPU.

Así, se tenga lo que se tenga, estará todo unificado bajo una misma API mientras sea compatible.

https://www.nvidia.com/en-us/geforce/news/rtx-io-gpu-accelerated-storage-technology/
Sangreyfuego escribió:Solo para los nvme? Vaya chusta


Las líneas PCIe van en la CPU (algunas) las de nuestro obsoleto y compatible SATA en el chipset. No es viable.
uchi23a escribió:@masterkyo

En serio?

No sé qué equipo calzas, desde un mecánico ya puedes disfrutar sin problema al 70% catálogo (si este está sano y ofrezca 120mb/s de lectura.

El juego más evidente que se necesita un SSD es el Forza Horizon donde puedes perder hasta 12fps en el circuito Godzilla pero llendo a 320km/h de media!!

Ahora uso un 970 evo 1tb y con el osd hwinfo en cargas no se pasa de los 380mb/s

Vamos, que no nos flipemos ya que un SSD Toshiba sata o 860 evo ya te dan todo lo necesario sin afectar al redimiento, en todo caso ayudará la dram caché de los nvme tochos en los tiempos de carga repetidas de cuando le das a repetir/ o te matan.

Aunque la RAM y vram ya hacen su cometido y por ahora no se necesita más de 400mb/s en lectura.

Como no sea para usarla ahora los nvme como caché extra vram (como se hace con la RAM para hacer un ramDisk pero de texturas ya procesadas.

Pero joder sería una vergüenza no optimizar los 8gb vram para 1440p


en mi equipo todo es raro, uso una CPU Intel de portátil décima generación con un adaptador de Aliexpress a 4.8 GHz en una placa base Z 170 pro gaming.
Mi problema es solo en las cargas y accesos intensivos en el ssd mve y seguramente tiene que ver con como se accede a la información del SSD porque me lo hace en todos los juegos.
No me fastidia mucho porque son solo un par de segundos antes de empezar a jugar pero se nota que la arquitectura de las consolas es diferente y estas cosas se las ahorran a cambio de jugar a menor calidad/fps
Habrá que ver en el futuro qué es lo que realmente aporta.
uchi23a escribió:@masterkyo

En serio?

No sé qué equipo calzas, desde un mecánico ya puedes disfrutar sin problema al 70% catálogo (si este está sano y ofrezca 120mb/s de lectura.

El juego más evidente que se necesita un SSD es el Forza Horizon donde puedes perder hasta 12fps en el circuito Godzilla pero llendo a 320km/h de media!!

Ahora uso un 970 evo 1tb y con el osd hwinfo en cargas no se pasa de los 380mb/s

Vamos, que no nos flipemos ya que un SSD Toshiba sata o 860 evo ya te dan todo lo necesario sin afectar al redimiento, en todo caso ayudará la dram caché de los nvme tochos en los tiempos de carga repetidas de cuando le das a repetir/ o te matan.

Aunque la RAM y vram ya hacen su cometido y por ahora no se necesita más de 400mb/s en lectura.

Como no sea para usarla ahora los nvme como caché extra vram (como se hace con la RAM para hacer un ramDisk pero de texturas ya procesadas.

Pero joder sería una vergüenza no optimizar los 8gb vram para 1440p



Justamente mencionas el horizon que de salida teniendo una 3080ti daba unos tirones constantes con la configuracipn recomendada por el juego, le di la oportunidad varias veces y ahi quedo cancelado, ya he probado de todo no esta en mi lado los problemas, es el juego, no he vuelto a probarlo, lo mismo lo han arreglado a saber.
@Rocker0990
¿Lo tienes original?

Con el ryzen a 3ghz (r5 3600) ya da los 60fps estables.

El Forza Horizon 3 pirata al principio con ajustes ultra bajaba a 45fps en la zona de rascacielos pero 7 meses después ya iba a 120fps

Forza Horizon 3,4 y 5 me van 120fps, pero mi monitor es 1440p 60hz 10bits así que lo limito a 60, menos en el test que las hago a 100fps

Tanto los Forza como los proyect Cars pueden tener caída/rascadas en la salida de parrilla con todos los coche en pantalla en ultra.

¿Estas intentado hacer los 144fps/Hz ? Eso no lo eh probado porque prefiero cálidad a verse como un gran turismo de PS3.

@masterkyo

Cuántas líneas pci tienes? Al ser de CPU de portátil...(son capacess de darte 8 gen 3° en vez de 14~ de escritorio.

Para salir de dudas cinebech R20 para compara con otros con el mismo CPU

Superposition beckmark en 1080p extremo para ver si la GPU está dentro de lo que tiene que dar

3d Mark time Spy el conjunto CPU y GPU.

Y mirar si coincide con alguna confirmación similar.

También mirar si puedes en la bios a bajar el puerto nvme a gen 1 o 2 (si perderás velocidad pero para ver si se merma el rendimiento de la GPU por el nvme..
uchi23a escribió:@Rocker0990
¿Lo tienes original?

Con el ryzen a 3ghz (r5 3600) ya da los 60fps estables.

El Forza Horizon 3 pirata al principio con ajustes ultra bajaba a 45fps en la zona de rascacielos pero 7 meses después ya iba a 120fps

Forza Horizon 3,4 y 5 me van 120fps, pero mi monitor es 1440p 60hz 10bits así que lo limito a 60, menos en el test que las hago a 100fps

Tanto los Forza como los proyect Cars pueden tener caída/rascadas en la salida de parrilla con todos los coche en pantalla en ultra.

¿Estas intentado hacer los 144fps/Hz ? Eso no lo eh probado porque prefiero cálidad a verse como un gran turismo de PS3.

@masterkyo

Cuántas líneas pci tienes? Al ser de CPU de portátil...(son capacess de darte 8 gen 3° en vez de 14~ de escritorio.

Para salir de dudas cinebech R20 para compara con otros con el mismo CPU

Superposition beckmark en 1080p extremo para ver si la GPU está dentro de lo que tiene que dar

3d Mark time Spy el conjunto CPU y GPU.

Y mirar si coincide con alguna confirmación similar.

También mirar si puedes en la bios a bajar el puerto nvme a gen 1 o 2 (si perderás velocidad pero para ver si se merma el rendimiento de la GPU por el nvme..


Son microtirones cada x tiempo, el juego lo probe en gamepass en la salida de eso ya ha pasado slgo de tiempo y si lo corria a 120fps/hz y puede que tenga que ver que al limitarlo a 60 no den tirones.
Gnoblis escribió:Ojala podamos aprovecharlo en las pc actuales y no tengamos que actualizar equipos para utilizarlo.
Ya se vera que chipsets u otros requisitos pidan para poderlo activar.


En principio no será necesario por lo que he entendido.

Pero sí que van a tener que implementarlo en los juegos uno por uno, así que no va a suponer una mejora en los juegos actuales, solo en los que están por venir siendo el primero Forspoken.
uchi23a escribió:@Rocker0990
¿Lo tienes original?

Con el ryzen a 3ghz (r5 3600) ya da los 60fps estables.

El Forza Horizon 3 pirata al principio con ajustes ultra bajaba a 45fps en la zona de rascacielos pero 7 meses después ya iba a 120fps

Forza Horizon 3,4 y 5 me van 120fps, pero mi monitor es 1440p 60hz 10bits así que lo limito a 60, menos en el test que las hago a 100fps

Tanto los Forza como los proyect Cars pueden tener caída/rascadas en la salida de parrilla con todos los coche en pantalla en ultra.

¿Estas intentado hacer los 144fps/Hz ? Eso no lo eh probado porque prefiero cálidad a verse como un gran turismo de PS3.

@masterkyo

Cuántas líneas pci tienes? Al ser de CPU de portátil...(son capacess de darte 8 gen 3° en vez de 14~ de escritorio.

Para salir de dudas cinebech R20 para compara con otros con el mismo CPU

Superposition beckmark en 1080p extremo para ver si la GPU está dentro de lo que tiene que dar

3d Mark time Spy el conjunto CPU y GPU.

Y mirar si coincide con alguna confirmación similar.

También mirar si puedes en la bios a bajar el puerto nvme a gen 1 o 2 (si perderás velocidad pero para ver si se merma el rendimiento de la GPU por el nvme..


gracias por la info, estoy casi seguro de que tiene que ser por las líneas pci. lo primero que haré será bajar rendimiento el a gen 1 en la BIOS y probar. a estas alturas prefiero perder rendimiento de ssd que de gpu. [beer]
26 respuestas