Estás jugando y, de repente, la imagen se detiene un instante. Es el stutter (tirón) por compilación de shaders, y el equipo de DirectX de Microsoft lo cuenta, junto a las largas compilaciones, entre «dos de los mayores problemas del juego en PC» en los títulos con DirectX 12.
Lo explicamos con la documentación de Microsoft, Khronos (Vulkan), Epic (Unreal Engine) y Valve (Steam), consultada el 7 de octubre de 2026. Cada dato es del dueño que lo publica.
Qué es un shader y por qué se compila en tu PC
Un juego habla con la gráfica mediante unos programas llamados shaders, responsables de la iluminación, las texturas o la física, como explica el equipo de DirectX. Antes de usarlos hay que compilarlos, es decir, traducirlos al formato propio de la gráfica: el juego se los entrega al controlador en una forma intermedia y el controlador hace la traducción final.
La especificación de la caché de shaders de Direct3D 12 explica que es un proceso caro que se hace al jugar, porque es el único momento en que se conocen el controlador y el hardware. El resultado sirve solo para ese juego, esa gráfica y ese controlador.
Por qué el tirón cae en mitad de la partida
DirectX 12 y Vulkan agrupan la configuración de la gráfica en paquetes llamados objetos de estado de canalización (PSO; Vulkan los llama «pipelines»). Epic explica que DirectX 11 necesitaba decenas de llamadas para configurarla sobre la marcha y que los PSO la cambian más rápido, pero generar uno nuevo cuando hace falta «puede llevar 100 milisegundos o más».
En DirectX 12, crear un PSO es síncrono: la llamada no vuelve hasta que todos sus shaders están compilados en instrucciones listas para la gráfica. En DirectX 11, la mayoría de controladores compilaban en otro hilo, sin que el juego lo notara. En Vulkan, crear un pipeline también obliga a compilar los shaders, y hacerlo durante la partida dispara el tiempo de cada fotograma.
Dan Ginsburg, de Valve, contó en el blog de Khronos que su motor Source 2 no conoce de antemano parte de esa información y aplaza la creación del PSO hasta el momento de dibujar, lo que puede provocar tirones, sobre todo con la caché vacía.
Las cachés: lo que se compila una vez no se repite
Una vez compilados, los shaders pueden guardarse para las siguientes partidas. En Vulkan, la caché de pipelines reutiliza el resultado entre pipelines y entre ejecuciones: el juego puede guardarla en disco antes de cerrarse y cargarla en la siguiente.
Windows 10 incluye desde hace años una caché de shaders de DirectX, D3DSCache, que puede guardar las compilaciones del controlador. Y los motores ponen otra: la caché de PSO de Unreal Engine es una lista de los PSO que usa el juego, recogida jugando a una compilación del juego e incluida en él para crearlos antes.
Compilar antes de jugar: Unreal, Steam y Microsoft
El precacheo de PSO de Unreal Engine recoge solo todos los PSO que podría usar al dibujar y los compila en segundo plano. Si no han terminado cuando hacen falta, por defecto retrasa el dibujo de ese objeto. Epic recomienda mantener la pantalla de carga hasta que acaben y calcula que, con la caché del controlador vacía, esa compilación inicial debería llevar en la mayoría de los casos menos de un minuto en procesadores de gama media.
Valve estrenó el precacheo de shaders de Steam el 13 de diciembre de 2017: cuando el hardware y el controlador lo permiten, Steam descarga shaders ya compilados para tu gráfica, lo que reduce las cargas y los tirones de las primeras partidas en juegos OpenGL y Vulkan.
La entrega avanzada de shaders (Advanced Shader Delivery) de Microsoft, estrenada en las ROG Xbox Ally, los compila en la nube y los distribuye con la descarga desde la tienda de Xbox; si llega un controlador nuevo, actualiza la caché sola. En Avowed, sus ingenieros midieron arranques hasta un 85 % más cortos. Contamos su llegada a Intel, NVIDIA y Qualcomm, y también hay herramientas como SCSKiller, que compila los shaders antes de jugar.
Por qué vuelve tras actualizar el controlador o el juego
Microsoft avisa de que los shaders compilados se guardan «hasta que el controlador se actualiza e invalida esas cachés». Según la especificación de Vulkan, el resultado puede depender del fabricante, del modelo de gráfica y de la versión del controlador; por eso los datos guardados empiezan con una cabecera que permite detectar cuándo ya no son compatibles.
Con el juego, la especificación de Direct3D 12 permite marcar una caché propia con un número de versión para que se borre y se rehaga al actualizarse. Epic pide a los estudios que prueben borrando la caché del controlador con -clearPSODriverCache, porque la que queda de partidas anteriores puede esconder los tirones.
Quién compila y guarda qué, de un vistazo
Esto es lo que publica cada dueño:
| Dónde se compila o se guarda | Qué hace | Quién lo publica |
|---|---|---|
| Controlador de la gráfica | Traduce el shader intermedio al formato de tu gráfica; sirve para ese juego, esa gráfica y ese controlador | Microsoft |
| PSO de DirectX 12 | Su creación no termina hasta compilar todos sus shaders | Microsoft |
| Caché de pipelines de Vulkan | Guarda el resultado entre partidas; su cabecera permite detectar si ya no es compatible con la gráfica y el controlador | Khronos |
| D3DSCache | Caché de shaders de DirectX incluida en Windows 10 | Microsoft |
| Caché de PSO de Unreal Engine | Lista de PSO recogida jugando a una compilación del juego | Epic |
| Precacheo de PSO de Unreal Engine | Compila en segundo plano los PSO que el juego podría usar | Epic |
| Precacheo de shaders de Steam | Descarga shaders ya compilados para tu gráfica en juegos OpenGL y Vulkan | Valve |
| Entrega avanzada de shaders | Shaders compilados en la nube y distribuidos con la descarga del juego | Microsoft |
Te puede interesar
Tech Planet participa en el programa de afiliados de Amazon. Si compras a través de estos enlaces, recibimos una pequeña comisión sin coste extra para ti, lo que nos ayuda a seguir creando contenido como este.
| Imagen | Producto | Características | Comprar |
|---|---|---|---|
![]() |
AMD Ryzen 7 9700X | 8 núcleos y 16 hilos · Zen 5 · socket AM5 · 40 MB de caché · hasta 5,5 GHz · 65 W · sin ventilador | Ver precio en Amazon |
![]() |
AMD Ryzen 5 9600 | 6 núcleos · 3,8 GHz · socket AM5 · en caja, con disipador AMD Wraith Stealth | Ver precio en Amazon |
![]() |
Intel Core Ultra 7 265K | 20 núcleos (8 P-Cores y 12 E-Cores) · hasta 5,5 GHz · desbloqueado · PCIe 5.0 y 4.0 · DDR5 | Ver precio en Amazon |
![]() |
Intel Core i7-14700KF | 20 núcleos (8 P-Cores y 12 E-Cores) · hasta 5,6 GHz · 14.ª generación · desbloqueado · PCIe 5.0 y 4.0 · DDR5 y DDR4 · 125 W · sin gráfica integrada | Ver precio en Amazon |









