Microsoft traerá DirectStorage a Windows 10

DirectStorage, una API perteneciente a la familia de DirectX la cuál fue diseñada originalmente para la nueva arquitectura de velocidad de Xbox arribará pronto a Windows 10. Con la incursión de esta nueva API en el PC, los usuarios verán reducirse notablemente los tiempos de cargas en juegos DirectX 12.

directstorage windows 10

De acuerdo con Microsoft, la API DirectStorage aprovecha toda la potencialidad que brinda la nueva tecnología NVMe la cual le permite usar numerosas peticiones I/O. Esta API también incluye un nuevo sistema avanzado I/O y técnicas avanzadas de renderizado, por lo que DirectStore promete revolucionar los juegos en Windows 10.

¿Qué hará DirectStorage como para prometer revolucionar los juegos en Windows 10?

Según Microsoft, esta nueva API se enfocará en mejorar la experiencia en dos áreas fundamentales:

  • Reducir drásticamente los tiempos de cargas en los juegos, los cuales muchas veces generan frustración
  • Permitir que los juegos y mundos virtuales se vean más expansivos y detallados.

Para «atacar» esas áreas, DirectStorage implementa un nuevo sistema avanzado de I/O. Este sistema acelera drásticamente la carga de datos desde el dispositivo de almacenamiento a la GPU (textura de personajes, ropas, paisajes…) durante una pantalla de carga y a su vez permitirá gestionar las múltiples peticiones que se originan en tiempo real cuando un jugador avanza en juegos de mundos abiertos y/o lanza objetos hasta desaparecer.

Vale recordar que hasta hace poco, los juegos estaban limitados a solo unas ciento de peticiones por segundo debido a que la tasa de transmisión activa de los discos de almacenamiento rondan los 50MB/s. Con la llegada de los discos SSD y las nuevas tecnologías introducidas en PCI-e (específicamente la NVMe), se amplió notablemente el ancho de banda de transferencia, permitiendo así decenas de miles de solicitudes de IO por segundo. Esto significa que para saturarlo, se necesitarían más de 35 mil peticiones IO usando bloques de texturas de 64k.

Si bien estas nuevas tecnologías ofrecen mejorar notablemente el rendimiento de los juegos, actualmente las API’s existentes para el PC requieren que los juegos administren y manejen cada una de las peticiones a la vez. Esto significa que el juego debe enviar primero la solicitud a la GPU, esperar a que se procese y luego gestionar su finalización. Si bien esta sobrecarga no implica muchos problemas en juegos antiguos o los que aplican pantallas de cargas, los de mundo abierto (muy populares actualmente) si se ven impactados ya que la sobrecarga de I/O fácilmente superan las miles de peticiones.

Como una solución a este problema, los desarrolladores recurrieron a la compresión involucrando así al CPU para aliviar un poco la transferencia de datos desde el disco y ayudar a la GPU en la descompresión. Sin embargo, las API’s actuales para PC no cuentan con métodos eficientes para descomprimir y llevar estos datos a la GPU para su renderizado.

Es en este punto donde DirectStorage interviene ya que cuenta con un diseño optimizado el cuál maximiza el rendimiento del proceso de transferencia desde la unidad de almacenamiento al GPU. Para optimizar el proceso, esta nueva API reduce la sobrecarga en el dispositivo de almacenamiento por solicitudes. Esto se hace gracias a que DirectStorage crea numerosas solicitudes I/O a la vez para que se puedan enviar datos a la GPU de manera mas eficiente. De esta forma, los juegos tendrán un control mas preciso cuando reciban la notificación de finalización del proceso I/O.

Esta nueva manera de administrar los procesos de peticiones I/O, permitirá a su vez que los desarrolladores implementen de forma mas eficiente, muchas mas solicitudes I/O. Por ende, se minimizarán las instancias en tiempos de cargas para iniciar un juego y a su vez, permitirá mundos mucho mas grandes y realistas.

Microsoft espera implementar por completo la nueva API DirectStorage en Windows 10 el próximo año. Si deseas conocer todos los detalles sobre esta nueva API, deberás remitirte al blog de desarrolladores de Microsoft.