Una de las principales armas en la cansina pero incansable guerra de consolas durante esta generación ha sido la resolución. Y, por supuesto, queremos que quede claro que es importante. A día de sigue siendo chocante cuando un juego razonablemente importante, como Tekken 7, funciona a tan sólo 720p en Xbox One X, una consola tremendamente capaz de mover resoluciones mucho más altas. Pero ¿cuánto importa la resolución interna? Más allá de lo entrenados que tengamos los ojos biónicos, ¿necesitamos que cada píxel que veamos en pantalla se haya dibujado de manera nativa?
Antes de empezar, queremos aclarar que este artículo está destinado a un público amplio con interés en los videojuegos y la tecnología que hay detrás. Vamos a intentar utilizar un lenguaje accesible y evitar tecnicismos para que lo entienda cuanta más gente mejor. Si queréis algo más en profundidad, hay decenas de medios especializados que pueden ampliar estas ideas. Dicho esto, ¡comenzamos!
Sentando las bases: resolución interna y resolución de la imagen
8K, 120 imágenes por segundo... Las nuevas consolas están a la vuelta de la esquina, y la resolución y la tasa de imágenes por segundo van a estar en boca de todos. Con PlayStation 3 y Xbox 360 dimos el salto a la alta resolución (HD, 720p), y con PlayStation 4 y Xbox One pasamos a la Full HD (1080p). La revisión de ambas, con PlayStation 4 Pro y Xbox One X, ha permitido llegar hasta la resolución 4K (2160p), y mientras la consola de Microsoft es capaz de mover multitud de títulos a 4K nativos, la consola de Sony ha apostado por un hardware menos potente que, con algunos trucos, consigue llegar a una imagen 4K, aunque la resolución interna sea más baja. Pero ¿qué es esto de interno y de imagen?
Lo primero que tenemos que entender es que la resolución interna de un juego puede ser diferente de la resolución que vemos en pantalla. Vamos a considerar la resolución interna o nativa como la cantidad de píxeles a la que los diferentes elementos gráficos tridimensionales se dibujan de manera interna en la consola o en el ordenador, mientras que la resolución de la imagen es la imagen final que se dibuja en el framebuffer y se manda a la pantalla. Por ejemplo, Animal Crossing: New Horizons funciona de manera nativa a 1080p cuando lo conectamos al dock y emite una imagen a 1080p, y hace lo propio a 720p cuando jugamos en portátil. La imagen dibujada en el framebuffer y la resolución nativa, en este caso, coinciden, pero no siempre es así.
La resolución interna es propia del juego y no tiene por qué coincidir con la resolución de salida del propio juego ni de la consola, o con la resolución de la pantalla. Puedes tener un juego de Xbox 360 cuya resolución interna es de 720p en Xbox One, que emite a 1080p, conectada a una tele 4K.
Volviendo al mencionado Tekken 7 en Xbox One. La resolución interna de los elementos poligonales –personajes, escenarios...– es de 720p, pero la imagen que se manda a la pantalla funciona a 1080p. En este caso, dibujar los personajes y los escenarios es lo más costoso a la hora de renderizar la imagen, por lo que la resolución se reduce; pero los desarrolladores pueden aprovechar para mostrar a mayor resolución elementos que requieren menos potencia, como la interfaz –barras de vida, tiempo restante...– y permitir que, al menos, parte de la imagen se vea con mayor claridad. Ahora, ¿cómo podemos conseguir imágenes con la mayor resolución posible renderizando a la menor resolución interna posible?
Un largo viaje
Querer aumentar la resolución de un juego no es algo nuevo. Según aumentaba la resolución de las pantallas, la imagen de ciertos juegos aparecía más y más borrosa. Los juegos en tres dimensiones, por su naturaleza poligonal, pueden aumentar su resolución nativa sin verse afectados, pero los juegos en dos dimensiones (o los elementos bidimensionales de un juego 3D), formados generalmente por sprites (pensad en todos los diferentes dibujos que componen Super Mario World, por ejemplo), tienen una resolución limitada. Desde los primeros emuladores, tenemos opciones como filtros para intentar ofrecer una imagen final que parezca estar a mayor resolución. Estos filtros también pueden ayudar a mejorar la imagen final en juegos 3D, afectando a texturas o a la interfaz, e incluso a los propios elementos tridimensionales si la resolución interna sigue siendo menor que la de la resolución de salida.
Hasta esta generación, las consolas solían, simplemente, reescalar la resolución nativa del juego original hasta encajar en la del framebuffer, algo habitual con los juegos retrocompatibles, pero también con los juegos que, simplemente, no llegaban a los estándares de la época (720p, 1080p...). Si bien es cierto que hay algunos sistemas mejores que otros, en general la imagen sencillamente se estiraba, aumentando el tamaño de cada píxel. El resultado, en general, es una imagen algo suave, si bien, en general, más limpia que sin ningún tipo de sistema de reescalado.
Durante esta generación hemos visto multitud de técnicas para conseguir optimizar la resolución al máximo, u ofrecer la mejor calidad de imagen posible intentando sacrificar la resolución lo menos posible. Pero la tecnología cada vez es más capaz y los desarrolladores tienen cada vez más herramientas a su disposición para hacer que la resolución interna importe menos. Vamos a adentrarnos en este repaso para ver cómo la resolución interna, tal y como la conocemos hoy en día, pueda pasar a un segundo plano durante la nueva generación.
Resolución dinámica
La resolución dinámica es ya una vieja compañera de aventuras. Básicamente, reduce la resolución interna cuando el dispositivo no puede procesar todo lo que está pasando en pantalla para mantener la tasa de imágenes por segundo. Si se implementa bien, esta reducción es casi imperceptible, ya que se supone que sólo se activa cuando hay «demasiado» en pantalla, aunque hemos visto casos en los que se ha implementado como una alternativa a la optimización, y acaba generando una imagen tremendamente borrosa casi todo el tiempo. Una gran cantidad de juegos actuales usan esta tecnología. Técnicamente, aquí la resolución nativa sigue importando, ya que cuando ésta cae, la calidad de la imagen se resiente.
Reconstrucción de imagen
La reconstrucción de la imagen abarca multitud de acercamientos, pero la idea principal es utilizar información adicional disponible para añadir los píxeles que no se han dibujado, para reconstruir esos fragmentos que faltan. Insomniac ha utilizado tanto en Ratchet & Clank como en Spider-Man una tecnología de inyección temporal, renderizando más de la mitad de los píxeles de la imagen a 4K, y utilizando un algoritmo y la información de frames anteriores para reconstruir la imagen final.
Otro ejemplo es el de la reproyección temporal de Quantum Break, que partía de una resolución interna de 720p para reconstruir la imagen hasta los 1080p con la información de los cuatro frames anteriores. Esta implementación, una de las primeras de la generación, todavía tenía margen de mejora, y nos permitía ver al parar la cámara cómo la imagen se reconstruía. Desde entonces hemos visto otras técnicas y los sorprendentes progresos que se han hecho en este frente, y le dedicaremos sus apartados propios a algunas de las más populares o prometedoras.
Checkerboarding
El checkerboarding o representación en cuadrícula es un sistema de renderizado que, en general, sólo renderiza el 50% de los píxeles de cada frame en diagonal y reconstruye el otro 50% basándose en el frame anterior, que ha dibujado todos los píxeles que no ha dibujado éste. Imaginaos un tablero de ajedrez: un frame corresponde con las casillas blancas y el otro con las negras. Al usar píxeles alternos la imagen final es mucho más nítida que usando otras técnicas de entrelazado vertical u horizontal y reconstrucción. Varios de los juegos de Sony para PlayStation 4 Pro usan este sistema con grandes resultados.
Un paréntesis: la inteligencia artificial
Seguro que muchos estáis al tanto de cómo la inteligencia artificial está ayudando a realzar enormes progresos a la hora de aumentar la resolución de imágenes. Así, una IA entrenada puede intuir la información que contendrían los píxeles duplicados de una imagen reescalada y dibujarlos como si fuesen nativos. Es un proceso que, aun con sus limitaciones, funciona bastante bien, y hemos ya hemos visto cómo los propios usuarios están aprovechando sus ventajas para remasterizar juegos clásicos, sobre todo aquellos de los 32 y los 64 bits que usaban fondos prerrenderizados. Por supuesto, esto también podría aplicarse a las texturas de un juego 3D.
Por otra parte, algunos televisores de gama alta están implementando esta inteligencia artificial para modificar la imagen en tiempo real, algo que puede ayudar a que el contenido a 1080p se vea más nítido en pantallas 4K, o incluso en las futuras 8K que se empezarán a popularizar en unos años. Para nosotros, por ahora, no es una solución viable, ya que la latencia que se introduce al modificar la imagen afecta a la respuesta del juego. La tecnología de Nvidia es otra historia.
Deep Learning Super Sampling (DLSS)
El Deep Learning Super Sampling es particularmente interesante por su uso de la inteligencia artificial y el aprendizaje profundo. Nvidia asegura que su tecnología puede reconstruir una imagen en tiempo real renderizando de manera interna entre un cuarto y la mitad de los píxeles de la imagen final, y los resultados son sorprendentes. Son ya varios los juegos que la utilizan, y hace falta una inspección detallada para notar las diferencias. Recientemente se ha lanzado la versión 2.0, y el salto en calidad ha sido enorme.
Su funcionamiento es muy «sencillo»: el juego se renderiza de manera interna a 1080p y la inteligencia artificial, en tiempo real, deduce qué apariencia tendrían los píxeles que faltan para formar la imagen final a 4K. Esto funcionaría también con otras resoluciones. Esta tecnología requiere que los desarrolladores la implementen en el juego, y una tarjeta RTX para funcionar, pero es un importantísimo primer paso para alanzar resoluciones de ensueño sin necesidad de potencia bruta.
El futuro: más vale maña que fuerza
En esta generación, las resoluciones han sido tan importantes que se han convertido en una especie de vara de medir, pero cuando empezamos a necesitar análisis de expertos que revisan cada frame para intentar descubrir la resolución nativa de un juego, ¿van a importar tanto en las próximas consolas? ¿Tiene sentido que Forza Motorsport 9 elija funcionar a más resolución interna en lugar de utilizar cualquiera de estas tecnologías y usar esa potencia extra para meter más coches en pantalla o mejor inteligencia artificial? ¿Debería Spider-Man 2 volver a usar una inyección temporal y sacrificar la resolución nativa en favor de una ciudad más viva? ¿Podría Nvidia usar su DLSS en la nueva Switch y conseguir gráficos a 4K renderizando internamente a 1080p?
En PC los jugadores tienen la habilidad de ajustar estos parámetros y, en general, es una comunidad que prefiere el rendimiento a la resolución. Pero en consolas está en manos de los desarrolladores está elegir cómo usar la potencia del hardware con el que trabajan, y tienen multitud de opciones para conseguir una calidad de imagen fantástica sin dibujar de manera nativa todos los píxeles de una pantalla. No sería de extrañar que, en un primer momento, con tanto juego intergeneracional, se use esa potencia para subir la resolución y la tasa de imágenes por segundo, así como otros elementos gráficos, pero según avance la generación y los títulos se vuelvan más complejos, los recursos comiencen a ser más valiosos y la resolución interna pase a un segundo plano.