Uno de los componentes claves de las nuevas consolas de Microsoft es la Xbox Velocity Arquictecture, que engloba apartados como los que afectan al nuevo sistema de almacenamiento pero que también presta especial atención a la gestión de las texturas en memoria.
Ese trabajo, cada vez más costoso y complejo para las consolas actuales, se convierte en algo mucho más llevadero con una técnica que permite hacer streaming de texturas bajo demanda, algo que minimiza el uso de la memoria y la GPU y que es un recurso casi mágico para los desarrolladores, que podrán plantear ahora mundos mucho más vastos y detallados que se mostrarán al instante en nuestras pantallas.
El streaming también vale para las texturas
Hace unos años los responsables de Microsoft comenzaron a estudiar la forma en que las texturas utilizaban la memoria en la Xbox One. A medida que el tiempo pasa y el hardware avanza, se intenta usar más texturas que además son más detalladas, pero la memoria no crece al mismo ritmo, y eso hace que la gestión de las texturas se convierta en un problema.
Para resolver ese problema en Microsoft trataron de idear una forma eficiente de reducir la carga de texturas mejorando incluso la calidad de las escenas renderizadas. Durante cerca de una década se han usado las llamadas 'tiled resources', texturas en baldosas, pero no era una forma demasiado eficiente de trabajar con estos recursos.
En Microsoft se diseñaron una nueva característica de la API DirectX 12 Ultimate llamada Sampler Feedback que permite "capturar y grabar muestras de la información de las texturas y su localización".
Estos datos serían de otro modo opacos al desarrollador, pero con esta técnica es posible acceder al streaming de texturas, es decir, cargar los datos de las texturas de cada escena bajo demanda —y no todas de una vez, como sucede con los 'tiled resources'— y liberar así el uso de memoria y de GPU que deben trabajar para renderizar cada escena en cada momento.
Eso permite ceder más memoria a otros elementos del juego que no solo se dedican al aspecto visual, sino que también pueden aportar mejoras a apartados como el del sonido. La tecnología que está presente tanto en el PC como de la Xbox Series X no limita en ningún modo a los desarrolladores a la hora de utilizar Sampler Feedback con texturas "gigantes" que pueden aplicar a diversos motores de renderizado y arquitecturas.
En el caso de las nuevas Xbox Series X, esas mejoras son significativas y permiten que gracias al Sampler Feedback Streaming sea posible conseguir de media una reducción de las necesidades de memoria de 2,5 veces de media.
La carga de este recurso es muy inferior a la que por ejemplo se utilizaba en la Xbox One, pero todo se magnifica cuando tenemos en cuenta que el subsistema de almacenamiento gana muchísimos enteros con el uso de la nueva unidad SSD y la arquitectura Velocity Engine.
En pruebas internas una escena con diversas texturas que tardaba 22 segundos en cargarlas desde disco duro de una Xbox One tardaba 0,16 segundos en una Xbox Series X con la tecnología Sampler Feedback Streaming y la unidad SSD. La aceleración del proceso era asombrosa.
Texturas bajo demanda
El impacto de esta técnica es claro al movernos por un escenario virtual: la fluidez y velocidad de respuesta es destacable en estos casos, y la tecnología Sampler Feedback permite que la mejora con respecto al tradicional streaming de texturas sea espectacular.
El funcionamiento de esta técnica se ve claramente por ejemplo en una escena de una demostración técnica en la que un globo terráqueo se mostraba en la escena. En el cuadrado de la izquierda se puede ver qué parte de las texturas se están usando para renderizar ese globo terráqueo en cada momento, y como se ve no se cargan todas las texturas, sino solo aquellas que están a la vista.
A medida que el globo terráqueo gira, cambian las texturas que residen en la memoria: las que quedan a la vista se sirven por streaming, mientras que las que dejan de ser necesarias desaparecen de ese particular mapa de texturas.
Esta nueva técnica se sitúa por tanto como una de las más llamativas a la hora de plantear nuevas experiencias visuales en las Xbox Series X, y es parte fundamental de las ventajas que permitirán a los desarrolladores crear nuevos mundos mucho más extensos y detallados que gracias a Sampler Feedback y a la unidad SSD aparecerán ante los ojos de los jugadores de forma prácticamente instantánea.