HardwareEXPLICADO FÁCIL4 MIN

Por qué un juego da tirones la primera vez y después funciona mejor

Ese tirón que desaparece al repetir una escena suele aparecer porque el juego compiló un shader tarde. La caché explica por qué mejora y por qué puede volver.

Gráfica de tiempo de fotograma con un pico causado por la compilación de shaders
Imagen: Ilustración propia · INSERT FUTURE
01

El tirón aparece cuando el juego encuentra algo nuevo

Entras por primera vez en una zona, aparece una explosión y la imagen se congela una fracción de segundo, pero al repetir el mismo recorrido el tirón desaparece. La GPU no ha aprendido a dibujar más rápido entre un intento y otro, sino que el juego o el controlador ya han compilado y guardado las instrucciones que necesitaba ese efecto.

Un shader es un pequeño programa que se ejecuta en la GPU y se ocupa de tareas como colocar un vértice, decidir el color de un píxel o calcular cómo responde un material a la luz. El juego combina esos programas con otros estados gráficos, y el controlador adapta el resultado a una GPU concreta mediante un proceso que consume tiempo de CPU.

Cuando ese trabajo ocurre mientras juegas, el fotograma no puede terminar. A 60 FPS cada imagen dispone de solo 16,7 milisegundos, así que una compilación de 100 ms bloquea el tiempo de casi seis fotogramas y provoca el corte breve que reconocemos como stutter. No es lo mismo que el input lag, que mide el retraso entre tu orden y el resultado en pantalla.

Flujo de compilación entre el juego, el controlador y la GPU
Imagen: Ilustración propia · INSERT FUTURE
02

Qué guarda una caché de shaders

Para dibujar una escena, el juego debe combinar cada shader con la mezcla, la profundidad, el formato de las texturas, las sombras y otros estados de la tubería gráfica. DirectX 12 agrupa muchas de esas decisiones en objetos llamados PSO. Si la combinación exacta ya está preparada, el controlador puede reutilizarla, mientras que una combinación ausente debe construirse antes de terminar la imagen.

Epic explica que la compilación provoca picos de procesamiento y tirones visibles, por lo que Unreal Engine permite preparar los PSO con antelación y cargar la mayoría antes de entrar en una zona. El ejemplo oficial de Direct3D 12 de Microsoft aplica el mismo principio y guarda los PSO compilados en disco para no repetir el trabajo en las siguientes partidas.

Una pantalla que dice compilando shaders antes del menú suele ahorrarte tirones porque traslada esa espera a un momento en el que todavía no estás jugando. Ocultarla no elimina el trabajo, sino que aumenta el riesgo de que aparezca en mitad de un combate o al descubrir una zona nueva.

03

Por qué vuelve después de actualizar

La caché solo sirve mientras sus resultados coincidan con el juego, el controlador y la GPU. Un parche puede añadir materiales o modificar shaders, mientras que un controlador nuevo puede invalidar lo que ya estaba preparado. NVIDIA confirma que instalar un driver elimina su caché.htm), de modo que la primera partida posterior puede volver a dar tirones.

El Panel de control de NVIDIA permite fijar un límite de entre 128 MB y 100 GB o dejar la caché sin límite. Si se acerca al espacio asignado, el controlador elimina los resultados más antiguos, de modo que una configuración demasiado pequeña puede borrar los resultados compilados de juegos que todavía utilizas y obligar al sistema a generarlos de nuevo.

No todos los tirones tienen este origen, ya que cargar datos desde un disco lento, quedarse sin memoria, generar objetos o esperar a la CPU puede producir una pausa parecida. La compilación es una candidata fuerte cuando un efecto se atasca la primera vez y fluye al repetirlo. En cambio, una pausa que vuelve cada pocos segundos en cualquier lugar necesita un diagnóstico más amplio.

Representación de shaders compilados y guardados en una caché
Imagen: Ilustración propia · INSERT FUTURE
04

Qué puede hacer el jugador

Deja terminar cualquier compilación inicial, aunque tarde varios minutos, y no borres la caché de shaders como parte de una limpieza rutinaria. Es posible que elimines archivos y recuperes algo de espacio, pero el juego tendrá que reconstruirlos y los tirones pueden volver en la siguiente partida.

Actualiza el controlador cuando necesites una corrección concreta, pero no lo reinstales antes de cada sesión. El primer recorrido después de una actualización importante puede ser peor mientras se rehace la caché, y repetir el proceso impide que el juego llegue a estabilizarse.

  • Espera a que termine la compilación antes de empezar la partida.
  • Conserva espacio libre y una caché de tamaño suficiente.
  • No borres cachés ni reinstales el driver sin una razón concreta.
  • Comprueba si el tirón desaparece al repetir la misma escena.
  • Si nunca mejora, revisa CPU, memoria, almacenamiento y ajustes gráficos.
05

Lo que no arregla una GPU más rápida

Una tarjeta más potente puede ejecutar más rápido los shaders que ya están listos, pero no garantiza que el juego haya preparado todos los PSO. Si la compilación depende de la CPU, del controlador o del diseño del motor, cambiar una RTX por otra no arreglará un juego que crea nuevos PSO en mitad de una escena.

DLSS, FSR o PSSR tampoco resuelven esta fase por sí solas porque reducen el coste de producir cada imagen o la reconstruyen a la resolución final cuando el programa necesario ya está preparado. Si un juego da un tirón la primera vez y después se estabiliza, la caché está haciendo exactamente el trabajo para el que fue creada.

00

La conversación empieza aquí

Accede con una cuenta de apoyo para comentar. Entrar

Todavía no ha comentado nadie. ¿Estrenas tú?

SIGUE LEYENDO

También te puede interesar

PORTADA