DirectStorage disponible para desarrolladores en PC

DirectStorage disponible para desarrolladores en PC. La API reduce los tiempos de carga y consigue que los juegos se vean más detallados e inmersivos.

Microsoft ha publicado su API DirectStorage para desarrolladores de juegos. La tecnología reduce los tiempos de carga, como en Xbox Series X, y hace que los juegos sean más inmersivos y detallados.

DirectStorage permite que su PC transmita grandes cantidades de datos desde un SSD NVMe directamente a la GPU. Realizando múltiples operaciones de escritura y lectura al mismo tiempo.

Esta versión pública del SDK da inicio ha una nueva era de tiempos de carga rápidos y mundos detallados en los juegos de PC. Ya que permite a los desarrolladores utilizar más ampliamente la velocidad de los últimos dispositivos de almacenamiento.

DirectStorage disponible para desarrolladores en PC
DirectStorage disponible para desarrolladores en PC

DirectStorage está disponible para Windows 10 y 11

Aunque la compañía dijo que este último es el camino recomendado para los juegos. Está disponible en cualquier tipo de dispositivo de almacenamiento. Pero Microsoft dice que un SSD NVMe maximizará su rendimiento de escritura y lectura, disfrutando de todos los beneficios de la tecnología.

Actualmente, no hay ningún juego en el que puedas probarlo, ya que se suponía que el primer juego que usaba la tecnología era Forspoken. Esta se retrasó hasta octubre, pero la compañía podría compartir información en el próximo GDC el 23 de marzo. Donde Luminous Productions hablará sobre la integración de DirectStorage en el juego.

DirectStorage disponible para desarrolladores de PC
DirectStorage disponible para desarrolladores de PC

Primeros pasos para los desarrolladores

Para obtener todos los recursos necesarios para empezar, consulta el sitio web aka.ms/directstorage. Esto incluye el repositorio NuGet con el paquete redistribuible, el repositorio de GitHub con muestras y documentación, así como enlaces a PIX para Windows.

PIX en Windows será compatible con DirectStorage

Presentaremos una introducción a DirectStorage en GDC, junto con algunos consejos y trucos para empezar, el 22 de marzo. Si no puedes verlo en directo, vuelva a consultar aquí para obtener un enlace al video a pedido de la sesión después del 22. También te recomendamos que consultes la charla de GDC presentada por Luminous Productions sobre su integración de DirectStorage en Forspoken.

La API de DirectStorage ya está disponible para desarrolladores en PC. DirectStorage reduce los tiempos de carga y consigue que los juegos se vean más detallados y expansivos.

Microsoft ha publicado su API DirectStorage para desarrolladores de juegos. La tecnología reduce los tiempos de carga, como en Xbox Series X, y hace que los juegos sean más expansivos y detallados.

DirectStorage permite que tu PC transmita grandes cantidades de datos desde un SSD NVMe directamente a la GPU. Realizando múltiples operaciones de escritura y lectura al mismo tiempo.

Esta versión pública del SDK da inicio ha una nueva era de tiempos de carga rápidos y mundos detallados en los juegos de PC. Ya que permite a los desarrolladores utilizar más ampliamente la velocidad de los últimos dispositivos de almacenamiento.

DirectStorage disponible para desarrolladores en PC
DirectStorage disponible para desarrolladores en PC

Un poco de historia sobre DirectStorage

A principios del año pasado, Microsoft mostraba al mundo cómo la Xbox Series X; con su cartera de innovaciones tecnológicas, introducía una nueva era de juegos sin compromisos. Junto con los anuncios reales de la consola, presentamos la arquitectura Xbox Velocity. Una parte clave de cómo Xbox Series X ofrecería experiencias de juego de próxima generación.

Estamos entusiasmados de traer DirectStorage, una API de la familia DirectX diseñada originalmente para la arquitectura Velocity a las PC con Windows. DirectStorage traerá la mejor tecnología de escritura y lectura de su clase. Tanto a PC como a consola, tal como lo hace DirectX 12 Ultimate con la tecnología de renderizado. Con un PC compatible con DirectStorage y un juego habilitado para DirectStorage; puedes esperar mundos virtuales con tiempos de carga reducidos, más inmersivos y detallados que nunca.

Cómo funciona DirectStorage

La evolución de las tecnologías de almacenamiento y los patrones de lectura y rescritura del juego. Los recientes avances en las tecnologías SSD y PCIe, específicamente las tecnologías NVMe; permiten a lps PC para juegos tener soluciones de almacenamiento que ofrecen mucho más ancho de banda de lo que nunca fue posible con las tecnologías de disco duro más antiguas. En lugar de decenas de megabytes por segundo; unidades como el NVMe personalizado de la próxima consola Xbox Series X pueden ofrecer varios gigabytes por segundo increíblemente rápidos.

Las cargas de trabajo del juego también han evolucionado. Los juegos modernos cargan muchos más datos que los juegos antiguos y son más inteligentes sobre cómo cargan estos datos. Estas optimizaciones de carga de datos son necesarias para que esta mayor cantidad de datos quepa en la memoria compartida accesible de la GPU.

DirectStorage disponible para desarrolladores en PC
DirectStorage disponible para desarrolladores en PC

Leer y escribir solo los datos solicitados

En lugar de cargar grandes trozos a la vez con muy pocas solicitudes de lectura y rescritura; los juegos ahora dividen activos como texturas en piezas más pequeñas. Solo cargando las piezas que se necesitan para la escena actual que se está renderizando. Este enfoque es mucho más eficiente en memoria y puede ofrecer escenas de mejor aspecto, aunque genera muchas más solicitudes de lectura y rescritura.

Desafortunadamente, las API de almacenamiento actuales no están optimizadas para este alto número de solicitudes de lectura y rescritura. Lo que les impide escalar a estos anchos de banda NVMe más altos, creando cuellos de botella que limitan lo que los juegos pueden hacer. Incluso con hardware de PC súper rápido y una unidad NVMe; los juegos que utilicen las API actuales no podrán saturar completamente la canalización de lectura y rescritura dejando un valioso ancho de banda sobre la mesa.

Ahí es donde entra en juego DirectStorage para PC. Esta API es la respuesta a un panorama de almacenamiento e IO en evolución en los juegos de PC. DirectStorage será compatible con ciertos sistemas con unidades NVMe y trabajará para llevar su experiencia de juego al siguiente nivel. Si su sistema no es compatible con DirectStorage, no se preocupe; los juegos seguirán funcionando tan bien como siempre lo han hecho.

DirectStorage disponible para desarrolladores en PC
DirectStorage disponible para desarrolladores en PC

¿Qué hará DirectStorage por mejorar la experiencia de juego?

Hay dos áreas principales que esta nueva API va a mejorar; reducir los tiempos de carga frustrantemente largos del pasado y permitir que los juegos sean más detallados e inmersivos que nunca.

Aunque aparentemente diferentes, ambos beneficios se derivan de los mismos avances del sistema de lectura y rescritura que aporta DirectStorage. Ya sea que se trate de las texturas de la ropa de tus personajes o los detalles de las montañas en la distancia. Ambos implican fundamentalmente la carga de datos desde un dispositivo de almacenamiento que necesita llegar eventualmente a la GPU.

Lo primero simplemente sucede mientras estás en una pantalla de carga; mientras que lo segundo sucede mientras caminas por un juego de mundo abierto que se carga en el paisaje distante que aparece a la vista en tiempo real; mientras arrojas cosas que se pierden de vista.

En cualquier caso, los juegos de la generación anterior tenían una transmisión de activos del orden de 50 MB por segundo. Que incluso en tamaños de bloque más pequeños de 64k (es decir, un mosaico de textura); equivale a solo cientos de solicitudes de lectura y rescritura por segundo.

Nuevos tipos de memoria, más velocidad.
Nuevos tipos de memoria, más velocidad.

Gigabytes por segundo aprovechando la tecnología NVMe

Las unidades NVMe con capacidad de varios gigabytes por segundo, aprovechan todo el ancho de banda; esto explota rápidamente a decenas de miles de solicitudes de lectura y rescritura por segundo. Tomando como ejemplo la unidad con capacidad de 2.4GB por segundo de la Serie X y los mismos tamaños de bloque de 64k. Eso equivale a > 35,000 solicitudes de lectura y rescritura por segundo para saturarla.

Las API existentes requieren que la aplicación administre y maneje cada una de estas solicitudes una a la vez primero enviando la solicitud. Esperando a que se complete y, a continuación, manejando su finalización. La sobrecarga de cada solicitud no es muy grande y no era un punto de estrangulamiento para los juegos más antiguos; que se ejecutan en discos duros más lentos. Pero multiplicada decenas de miles de veces por segundo, la sobrecarga de lectura y rescritura puede volverse demasiado costosa rápidamente; impidiendo que los juegos puedan aprovechar el aumento de los anchos de banda de la unidad NVMe.

Además de eso, muchos de estos activos están comprimidos. Para ser utilizados por la CPU o GPU, primero deben ser descomprimidos. Un juego puede extraer tantos datos del disco como desee, pero aún necesita una forma eficiente de descomprimirlos y llevarlos a la GPU para renderizarlos. Al usar DirectStorage, tus juegos pueden aprovechar las mejores tecnologías de descompresión actuales y futuras.

Leer solo los bloques de datos necesarios

En un mundo donde un juego sabe que necesita cargar y descomprimir miles de bloques para el siguiente fotograma. El modelo uno a la vez resulta en una pérdida de eficiencia en varios puntos del viaje del bloque de datos. La API de DirectStorage está diseñada de una manera que tiene todo esto en cuenta; y maximiza el rendimiento en toda la canalización desde la unidad NVMe hasta la GPU.

Lo hace de varias maneras: reduciendo la sobrecarga de NVMe por solicitud; habilitando solicitudes de lectura y rescritura paralelas por lotes de muchos a la vez que se pueden alimentar de manera eficiente a la GPU. Dando a los juegos un control de grano más fino sobre cuándo se les notifica la finalización de la solicitud; tanto de lectura como de rescritura en lugar de tener que reaccionar a cada pequeña finalización de lectura y rescritura.

De esta manera, los desarrolladores reciben una forma eficiente de enviar y manejar muchas órdenes de magnitud; más solicitudes de lectura y rescritura como nunca antes. Minimizando en última instancia el tiempo que esperas para entrar en el juego. Aportando mundos virtuales más grandes y detallados que se cargan tan rápido como tu personaje del juego puede moverse a través de él.

Nuevos tipos de memoria, más velocidad.
Nuevos tipos de memoria, más velocidad.

¿Por qué NVMe?

Los dispositivos NVMe no solo son dispositivos basados en SSD de ancho de banda extremadamente alto; sino que también tienen canalizaciones de acceso a datos de hardware llamadas colas NVMe que son particularmente adecuadas para cargas de trabajo de juegos. Para obtener datos de la unidad, un sistema operativo envía una solicitud a la unidad y los datos se entregan a la aplicación a través de estas colas.

Un dispositivo NVMe puede tener varias colas y cada cola puede contener muchas solicitudes a la vez. Esta es una combinación perfecta con la naturaleza paralela y por lotes de las cargas de trabajo de juegos modernas. El modelo de programación de DirectStorage esencialmente brinda a los desarrolladores un control directo sobre ese hardware altamente optimizado.

Además, las API de almacenamiento existentes también incurren en muchos pasos adicionales entre una aplicación que realiza una solicitud de lectura y rescritura. Y la solicitud que cumple el dispositivo de almacenamiento, lo que resulta en una sobrecarga de solicitud innecesaria. Estos pasos adicionales pueden ser cosas como las transformaciones de datos necesarias durante ciertas partes del funcionamiento normal de lectura y rescritura.

Sin embargo, estos pasos no son necesarios para cada solicitud de lectura y rescritura en cada unidad NVMe en cada máquina de juego. Con una unidad NVMe compatible y una máquina de juegos configurada correctamente; DirectStorage podrá detectar por adelantado que estos pasos adicionales no son necesarios y omitir todas las comprobaciones y operaciones necesarias. Lo que hace que cada solicitud de lectura y rescritura sea más barata de cumplir.

Por estas razones, NVMe es la tecnología de almacenamiento preferida para DirectStorage y la lectura y rescritura de juegos de próxima generación de alto rendimiento.

¿Cuándo podemos esperar más detalles?

Para cada característica de la familia DirectX, Microsoft reúne a los mejores jugadores de la industria de los juegos de PC. Consigue estandarizar las nuevas características de juego, ponerlas a disposición de los desarrolladores de juegos y, finalmente, llevarlas a sus máquinas de juego.

Este proceso ya ha comenzado para DirectStorage y estamos trabajando con nuestros socios de la industria en este momento; para terminar de diseñar y construir la API y sus componentes de soporte. Nuestro objetivo es que una vista previa del desarrollo de DirectStorage llegue a las manos de los desarrolladores de juegos el próximo año.

Tienes más información y comentarios al respecto en el foro, sigue leyendo…