Las consolas todavía tienen una gran ventaja, y está perjudicando a los juegos de PC
La muerte de los juegos de PC . Ese ha sido el tema en cuestión durante las últimas semanas, con puerto tras puerto tras puerto llegando a la PC en estados desastrosos. Los juegos de PC no están muertos, pero si esta tendencia continúa, es difícil recomendar elegir una nueva versión para PC, al menos antes de que reciba una serie de parches inevitables.
Desearía poder brindar una solución única para los problemas que enfrentan los juegos de PC, pero no puedo. La lista es enorme. Pero hay un área de enfoque que podría ayudar mucho a la situación, y es donde las consolas aún tienen una ventaja sobre la PC.
La fuente del tartamudeo
Cuando se trata de eso, hay una cosa que causa un tartamudeo en tus juegos: un pico en el tiempo de renderizado. Algo obstruyó la tubería por un breve momento, y mientras eso se soluciona, hay una brecha en el tiempo entre un cuadro que aparece en su pantalla y el siguiente. Eso es un tartamudeo.
Pero, ¿qué está obstruyendo las tuberías? En muchos casos en la PC, vemos que la compilación de sombreadores tartamudea. Aquí es donde la CPU necesita enviar instrucciones (sombreadores) a la GPU y traducirlas de código de software a código de hardware. Esta es la fuente del tartamudeo en juegos como Gotham Knights en muchos casos.
Tenemos una buena solución para el tartamudeo de la compilación de shaders . El primero es precompilar shaders como lo hace Uncharted: Legacy of Thieves en PC. Obtenga las instrucciones almacenadas en la memoria con anticipación para que no tenga que preocuparse por compilar mientras se ejecuta el juego. El otro es la compilación asíncrona. Las CPU modernas como la Core i5-13600K tienen acceso a una tonelada de subprocesos, por lo que los subprocesos que no están haciendo mucho pueden manejar la compilación de las próximas secciones mientras juegas.
No son soluciones simples, pero funcionan. La otra fuente principal de tartamudeo que vemos es el tartamudeo transversal o de carga. Este es el caso de Star Wars Jedi: Survivor, un juego que se lanzó con varios problemas de rendimiento . Aquí, el aumento en el tiempo de renderizado proviene de que el juego carga nuevos datos a medida que viajas por el mundo.
Es importante distinguir entre los dos porque tienen soluciones muy diferentes. El tartamudeo de la compilación de sombreadores ocurre cuando se introduce un nuevo efecto de sombreador en la pantalla. Sombrear un solo píxel puede tener varias capas de efectos, por lo que una explosión o un efecto al recoger un elemento son las áreas donde normalmente se ve tartamudear la compilación del sombreador.
El tartamudeo transversal ocurre cuando tu personaje pasa por una zona de carga de alguna variedad. Si no sucede nada particularmente digno de mención en la pantalla, es muy probable que esté viendo un tartamudeo transversal y no un tartamudeo de compilación de shaders.
Star Wars Jedi: Survivor es un buen ejemplo de esta dinámica. En la apertura del juego en Coruscant, una gran nave choca contra una plataforma y hay un breve y menor tartamudeo en la compilación de shaders. Más tarde, en Koboh cuando entras o sales de Pyloon's Saloon, sin embargo, hay alrededor de 10 segundos de tartamudeo intenso. Eso es un tartamudeo transversal.
Los desarrolladores tienen soluciones para el tartamudeo de compilación de shaders, incluso en motores como Unreal Engine 4 que son particularmente difíciles de discutir en ese departamento. Hemos visto muchos de los tartamudeos relacionados con sombreadores corregidos en juegos como Hogwarts Legacy y juegos como Atomic Heart. se han lanzado sin tartamudeos debido a un intenso proceso de precompilación. La situación del tartamudeo transversal es más compleja.
El Kraken de la próxima generación
Tanto la PS5 como la Xbox Series X tienen procesadores de descompresión de hardware dedicados. Según Mark Cerny de Sony, el procesador dedicado que usa la biblioteca de descompresión Oodle Kraken en la PS5 puede manejar el trabajo de compresión de nueve núcleos AMD Zen 2 . Xbox cuenta con el sistema DirectStorage de Microsoft , que también incluye un procesador dedicado para la descompresión para acelerar el tiempo de carga y, lo que es más importante, la transmisión de activos.
La transmisión de datos desde el SSD es donde se produce la intermitencia transversal, y es un problema mucho más difícil de resolver en la PC. Las PC no solo no tienen hardware de descompresión dedicado, sino que la gama de especificaciones de las SSD dificulta escalar de manera confiable el rendimiento de transmisión en múltiples sistemas.
En una PC, la descompresión es una tarea para la CPU. Los datos se transmiten desde el SSD, pero deben descomprimirse durante el tránsito, lo que a menudo resulta en un tartamudeo transversal. El hardware de descompresión dedicado en PS5 y Xbox Series X da como resultado muchos menos tartamudeos transversales, a pesar de que sus CPU no son tan potentes como las que están disponibles en una PC moderna de gama alta.
Hay soluciones para este problema en PC, pero aún no funcionan. DirectStorage está disponible para usuarios de PC y ayuda a mejorar los tiempos de carga y transmisión a través de la descompresión de GPU. El problema es que en este momento solo tenemos un juego con DirectStorage, Forspoken, y no aprovecha la descompresión de la GPU. Simplemente mejora los tiempos de carga, superando ligeramente a una PS5.
En cualquier otro juego, el proceso es el mismo. Los activos se trasladan del almacenamiento a la memoria del sistema, la CPU los descomprime y luego se copian en la memoria de la GPU. Es probable que este proceso laborioso sea una de las razones por las que hemos visto que el uso de VRAM ha aumentado tanto en versiones recientes, ya que los juegos se desarrollan para consolas que no tienen el cuello de botella de memoria que existe actualmente en la PC.
DirectStorage es una solución, pero no es la única forma de mejorar los principales problemas de tartamudeo transversal en la PC. El escalado adecuado de la CPU es una solución que se ha infrautilizado, especialmente para las versiones de Unreal Engine 4. Este motor está construido en gran parte para ejecutarse en dos subprocesos de la CPU y, como puede ver en juegos como Star Wars Jedi: Survivor, los subprocesos restantes no están haciendo mucho trabajo, si es que lo hacen.
A pesar de que las consolas tienen menos poder de cómputo que las PC modernas, los desarrolladores están diseñando juegos para plataformas que no tienen un gran cuello de botella de transmisión de activos. Todavía puede lograr un mayor rendimiento y calidad visual en una PC de gama alta, sin duda, pero eso tiene el costo de tartamudeo, resolución de textura reducida y limitaciones de VRAM que no están presentes en la consola, o al menos, son mucho menos grave.
la respuesta de nvidia
A principios de mayo, Nvidia presentó un documento de investigación a Siggraph 2023, una conferencia anual centrada en los avances en gráficos por computadora, titulado "Compresión neuronal de acceso aleatorio de texturas de materiales". El documento propone un sistema en el que una red neuronal maneja la compresión y descompresión de texturas y, según él, el sistema puede almacenar 16 veces los datos en la misma cantidad de espacio que una compresión tradicional basada en bloques.
Se llama Compresión de Textura Neural (NTC). Más detalles en las texturas para el mismo espacio de almacenamiento es definitivamente una opción atractiva, como hemos visto con Forspoken y Resident Evil 4 Remake, la calidad de la textura en realidad puede ser mucho más baja en la PC que en las consolas en escenarios con restricciones de VRAM, pero la verdadera ventaja es que NTC está diseñado para descomprimir datos en tiempo de ejecución.
Hay una ligera sobrecarga en comparación con los procesadores de descompresión dedicados, según Nvidia, pero los investigadores dicen que esperan que esta sobrecarga sea menor una vez que se aplique a la representación en tiempo real. Más importante es que la descompresión puede ocurrir directamente en la GPU, sin pasar por la CPU y la necesidad de hardware dedicado por completo.
¿Resolverá esto los problemas de tartamudeo y los aumentos de VRAM que afectan a los jugadores de PC? No sé. Por ahora, este es solo un trabajo de investigación, y si vemos que NTC se incorpora a las tarjetas gráficas, probablemente sea dentro de algunas generaciones. Es probable que tampoco sea una característica comercializable como lo es Deep Learning Super Sampling (DLSS) de Nvidia .
Pero promete mucho. DirectStorage, por mucho que parezca una respuesta, no se ha materializado en los juegos de PC de la manera que hubiera esperado. El hardware lo admite, el software está disponible, pero simplemente no tenemos juegos que aprovechen la descompresión de GPU de hardware para acercarse a lo que ofrecen las consolas actualmente. Esta solución puede ser más manejable para los desarrolladores y menos exigente con el hardware.
No lo sabemos por ahora. Mientras tanto, cruzaré los dedos para que el resto de 2023 tenga lanzamientos de PC que realmente funcionen, al menos hasta que veamos más formas inteligentes en que los desarrolladores y proveedores quieren abordar lo que es un problema claro con los juegos de PC.