Microsoft todavía tiene que dar bastantes detalles de su próxima consola antes de su lanzamiento previsiblemente en noviembre, y ha comenzado a darlos hablando un poco más de la arquitectura que usará en la comunicación entre el procesador y el almacenamiento. Esa arquitectura tiene el nombre de Xbox Velocity, y se centra en lo mismo que en su competencia: sacar el máximo partido al almacenamiento PCIe que incluirá la Xbox Serie X.

El problema actual es que los juegos están programados en torno a la baja velocidad que tienen los discos duros, y por tanto todavía en PC no se ha extraído todo el potencial de las unidades de estado sólido. Eso es algo que cambiará en la nueva generación de consolas, ya que los juegos será necesario crearlos en torno a un sistema de carga de recursos directamente de la SSD de manera más eficiente. La información no es realmente nueva, aunque se centra en la SSD, y han publicado un bonito vídeo de promoción, que es algo en lo que Sony está fallando para la PlayStation 5.

Vídeo

Microsoft habla de la velocidad máxima secuencial de 2.4 GB/s que tiene la SSD de tipo PCIe 3.0 de 1 TB de la Xbox Serie X como punto de partida, aunque se trata de una unidad «personalizada». Con ello hay que entender que debería tener un controlador específico que mejore el acceso a la unidad y su información de manera fiable, pero también que permita una alta velocidad de acceso sostenido que es donde las SSD demuestran lo que valen. A diferencia de un PC, todo apunta a que las SSD de las nuevas consolas están activas casi todo el tiempo.

La SSD permitirá la compresión y descompresión por hardware de las texturas utilizando alguna implementación del algoritmo de compresión sin pérdidas LZ, usando para la descompresión un algoritmo propietario específicamente diseñado para texturas llamado BCPack. Esto permitirá cargar las texturas a 4.8 GB/s, aunque no será la única mejora al apartado de las texturas para jugar de manera fluida a 4K.

Otro añadido es la transmisión con muestreo por realimentación (sampler feedback streaming, o SFS), un nombre un poco extraño que suena genial en inglés, aunque a un hispanohablante no le diga absolutamente nada de lo que hace, pero la traducción orienta bastante más a lo que es —al menos a un ingeniero le sonará menos a chino—. Antes de comentar qué hace, solo voy a decir que en la práctica Microsoft asegura que duplica el ancho de banda de la SSD para la carga de texturas.

La SFS utiliza la información de un fotograma previo (entrada realimentada) para determinar qué parte de una textura (una muestra) tiene que enviar a la memoria principal (lo transmite, o retransmite si se quiere ver como algo que hace en directo o de manera continuada, que podría ser más adecuado). Con un pequeño análisis de la traducción al español de las tres partes que componen esta tecnología ya tiene bastante más sentido. Pero requiere un poco más de explicación para entender qué ventajas tiene.

xbox.jpg

Una textura suele ser almacenada en un mapa MIP —MIP es latín, multum in parvo, 'mucho en poco', por lo que es un 'mapa de mucho en poco' espacio— o mipmap, que es un archivo que contiene información 2D de una misma textura en distintos tamaños —por ejemplo, 32×32, 64×64, 192×192 y 512×512 píxeles—. Cada tamaño se usa en función de la distancia desde el punto de vista de la cámara hasta el objeto, por lo que cuanto más alejado esté de más baja calidad se usará la textura para ahorrar procesamiento.

La transmisión (de texturas) con muestreo por realimentación accederá directamente al tamaño del mipmap que sea necesario en un momento dado en función del fotograma procesado en un instante anterior y lo enviará a memoria —o simplemente reservará su uso— para que la unidad gráfica haga con ese trozo lo que deba hacer. Esto elimina la carga de todo el archivo, ahorrando tiempo y energía, y en principio se debería de encargar en su carga entre el controlador y la tubería de E/S, con la indicación apropiada del programador del juego. La desventaja en realidad de esta técnica tiene que ver con que transfiere pedazos de información más pequeños, por lo que ya puede ser buena el controlador de SSD —y debe serlo por lo que promete Microsoft—.

La última pieza de la arquitectura Xbox Velocity es la interfaz de programación de aplicaciones (API) del sistema de E/S de la consola y que es la llamada DirectStorage y que es una extensión de DirectX. Permite un acceso a bajo nivel al controlador de la SSD de la Xbox Serie X para reducir el procesamiento relacionado con la transmisión continua de texturas desde la SSD. Microsoft habla de que lo que antes hacían varios núcleos puede hacerlo solo uno, y precisando únicamente una parte de su tiempo. Esta API estará disponible en algún momento también en Windows, y eso sí podría marcar un antes y un después del rendimiento de los juegos en PC —y una fuente más de problemas por la enorme variedad de componentes que existen—.

De lo que no está hablando mucho Microsoft —y para el caso, tampoco Sony— es cuánto esfuerzo adicional van a tener que hacer los desarrolladores para sacar provecho de la arquitectura Xbox Velocity. Probablemente bastante, por lo que será al final que quede más relegado a los grandes estudios que a los juegos más modestos. Aunque bien es cierto que los juegos más modestos probablemente no necesiten exprimir al máximo la capacidad de la Xbox Serie X. Aun así, todo esto pinta que de uso automático va a tener poco —sobre todo la extensión DirectStorage—.