Tu contador dice 160. El juego da una sacudida igualmente — una fracción de segundo en la que la imagen se para, tu puntería acaba en un sitio en el que tú no la pusiste, y después todo vuelve a ir bien. El contador no se movió en ningún momento, y por eso nada de lo que hagas para subirlo ayuda.
Esa distancia es todo el tema de esta página. Un tirón es un fotograma que llegó tarde, no una tasa de fotogramas baja. Un contador de fotogramas promedia sobre un segundo, así que un fotograma que tardó 90 ms desaparece dentro de los 159 cortos que tiene al lado. El número que describe lo que notaste es el tiempo de fotograma, y un tirón es un fotograma mucho más lento que sus vecinos.
Primero, la frase honesta. Dos de las diez causas de abajo corresponden a una sola casilla de w0a: el valor del planificador en la causa 8 y la grabadora de juego en segundo plano en la causa 9. Las dos casillas solo ponen un ajuste donde le corresponde, y en una máquina que nadie ha tocado la primera no encuentra nada que cambiar. Si el tirón que notas era una de ellas, solo te lo puede decir una captura de antes y después.
Primero, averigua cuál de los tres problemas tienes
Se les llama con la misma palabra y no tienen casi nada en común.
- Tirones puntuales. La base va bien y de vez en cuando pasa algo largo. Eso es esta página.
- Una base irregular. Nada es dramático, pero el juego nunca se siente suave. Eso es un problema de percentiles: muchos FPS de media pero malos 1% lows.
- Una caída. La tasa de fotogramas baja y se queda abajo durante segundos o minutos. Causas completamente distintas: caídas repentinas de FPS en juegos.
Consigue un registro antes de cambiar nada
Adivinar es lo que hace que esto tarde semanas. Una captura del juego que juegas de verdad, donde da tirones de verdad, convierte el «qué podrá ser» en «qué pasó en ese pico» — y es el «antes» contra el que se juzga cada cambio posterior. Leer el resultado del benchmark explica cómo.
Las causas, una por una
1. Un driver reteniendo un núcleo del procesador
Mientras un driver está dentro de una interrupción o de una llamada a procedimiento diferido, ese núcleo se ejecuta por encima de cualquier prioridad de hilo que exista: no dibuja nada ni lee ninguna entrada hasta que el driver suelta. Es una causa fácil de pasar por alto: no aparece en ninguna gráfica de tiempos de fotograma ni en ningún administrador de tareas.
Cómo lo sabes: midiéndolo. La sección del kernel de cómo leer la prueba de latencia lista todos los drivers que retuvieron un núcleo, por retención más larga, con el nombre del archivo. Pasado más o menos 1 ms, un driver está desplazando reportes de entrada; a partir de 4 ms la máquina no puede mantener un tiempo de fotograma estable cambies lo que cambies.
Qué haces: actualizar ese driver concreto desde el fabricante del hardware — no todo el sistema, el archivo que se nombra. Los drivers de red, de almacenamiento y de audio están entre los que pueden hacer esto.
2. Shaders compilándose
Un efecto nuevo, una zona nueva, un arma nueva, y el juego tiene que compilar un shader antes de poder dibujarlo. La compilación ocurre en la CPU mientras el fotograma espera.
Cómo lo sabes: es peor en los primeros minutos de una sesión o de un mapa, se va apagando mientras juegas, y vuelve después de una actualización de driver o de juego. Si tu tirón no se apaga, no es esto — tirones por compilación de shaders es la versión larga.
Qué haces: jugar hasta que pase, y no hacer benchmark dentro de esa ventana; estarías midiendo al compilador.
3. El disco desde el que el juego trae los datos
Un juego que va trayendo assets mientras te mueves da tirones cuando la lectura es lenta, y el fotograma que espera esos datos es el que llega tarde.
Cómo lo sabes: los tirones coinciden con entrar en una zona nueva, y los intervalos largos entre fotogramas caen en la misma ventana que la actividad del disco. Comprueba lo evidente: si el juego está en un disco mecánico, si la unidad está casi llena, si la carpeta del juego está dentro de una carpeta sincronizada con la nube que sube cada escritura, si el archivo de paginación está en un disco de platos. Un SSD para un juego que carga datos sobre la marcha no es un tweak, es la respuesta.
4. Presión de memoria
Cuando la RAM se llena, Windows saca páginas al disco y las páginas que vuelven se notan como tirones. El caso menos evidente es el límite de confirmación: a medida que se queda corta la memoria total que Windows puede repartir, el gestor de memoria recorta páginas a programas que siguen en ejecución, y el juego nota esos recortes como congelaciones de menos de un segundo. Las dos cosas mejoran en cuanto cierras un navegador con cuarenta pestañas.
5. Se puso a ejecutarse otra cosa
El proceso de trabajo de Windows Update, una tarea de mantenimiento, un análisis de malware programado, una exportación de vídeo que se te olvidó. Ese trabajo no se detiene cuando arranca un juego; se pone en cola por el mismo núcleo que el hilo de renderizado, así que aparece como picos de tiempo de fotograma y no como una media más baja. Esperar a que termine es un arreglo legítimo.
Cómo lo sabes: una captura del benchmark guarda sus intervalos de fotograma más largos junto con los accesos a disco y los fallos de página duros que cayeron en la misma ventana. Si eran procesos de mantenimiento o del antivirus de Windows, la tarjeta de intervalos largos cuenta los intervalos y nombra los procesos. Eso es lo que coincidió, no la prueba de que ese trabajo retrasara el fotograma: el antivirus lee todo lo que abre cualquier programa.
6. El calor y los límites de potencia
Cuando un chip llega a su techo de temperatura o de potencia, el reloj se baja y se vuelve a subir una y otra vez, y unos tiempos de fotograma ondulados son cómo se siente eso desde dentro. Esa decisión la toma el firmware por su cuenta, sin preguntarle a Windows. Empieza al cabo de un rato y no de inmediato, y va con lo caliente que esté la habitación.
7. La pantalla
Un monitor funcionando por debajo de la frecuencia de actualización que admite le pone a tu ritmo de fotogramas un suelo que el hardware no exige. Comprueba la frecuencia real en lugar de darla por hecha; está mal en un número sorprendente de máquinas después de una instalación limpia o de un cambio de cable.
8. Un valor del planificador que dejó atrás una herramienta antigua
Win32PrioritySeparation decide cuánto tiempo se queda un hilo con el procesador y cuánto tiempo más recibe la aplicación en primer plano. Los valores con cuantos largos o fijos, o con una parte para el primer plano por debajo de 3:1, cambian cómo se reparte el procesador entre el juego y todo lo demás; no se midió qué efecto tiene en el tiempo de fotograma. La tarjeta Memoria y valores predeterminados del sistema de la página Fix devuelve el valor por defecto de Windows.
9. Los overlays y la capa de captura
Los overlays dibujan dentro del propio fotograma del juego, y una grabadora en segundo plano codifica todos los fotogramas para poder guardar los últimos minutos. Ciérralos de uno en uno y prueba, en lugar de todos a la vez.
10. La partida, no la máquina
Un juego en línea puede dar tirones a todos los del servidor a la vez. Si el contenido de un jugador en la misma máquina sale limpio y el registro de tiempos de fotograma enseña al juego presentando con normalidad, esa es una respuesta de verdad útil: no es tu PC.
Las dos causas para las que w0a tiene una casilla
Causa 8: «Mantener la prioridad de primer plano en el valor correcto (Win32PrioritySeparation)» (página Optimizaciones)
Un valor DWORD: Win32PrioritySeparation en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl.
La referencia de Microsoft para él es una página archivada escrita para Windows 2000; describe seis bits que se leen en tres pares, escritos como AABBCC:
| Par | Qué decide | Valores |
|---|---|---|
| AA (los dos bits más altos) | Cuánto tiempo puede ejecutarse un hilo cada vez | 01 más largo, 10 más corto, 00 o 11 el valor por defecto propio de la edición (más corto en una edición de estación de trabajo) |
| BB (los dos del medio) | Si esa duración varía | 01 variable, 10 fija, 00 o 11 el valor por defecto de la edición (variable en una edición de estación de trabajo) |
| CC (los dos más bajos) | Cuánto tiempo más recibe el programa en primer plano | 00 igual (y fijo), 01 2:1, 10 o 11 3:1. Solo se usa cuando el par del medio significa variable. |
- Valor por defecto de Windows:
0x2(binario 000010). En una edición de estación de trabajo eso significa cuantos más cortos y variables, con el programa en primer plano recibiendo tres veces el tiempo del segundo plano. La misma referencia da0x26(100110: más corto, variable, 3:1) para la opción de rendimiento que favorece a los programas, y0x18(011000: más largo, fijo, igual) para la que favorece a los servicios en segundo plano. - Qué hace la casilla: primero lee el valor. Un valor que ya da al primer plano la parte de 3:1, sin cuantos más largos y sin cuantos fijos, se queda exactamente como está, y la casilla lo dice. Solo se reescribe, a
0x26, un valor que no cumple una de esas tres condiciones. Sobre el valor por defecto propio de Windows la casilla no escribe nada: en una edición cliente,0x2ya planifica como pide0x26. - Cuándo se aplica: después de reiniciar. El kernel convierte este valor en su tabla de planificación al arrancar, así que cambiarlo en el Registro no cambia nada del planificador que ya está en marcha, y la casilla pide reinicio cuando escribe.
- Vuelta atrás: la tarjeta memoria y valores predeterminados del sistema escribe de vuelta
2y pide reinicio. Al mismo tiempo restaura otros valores por defecto de memoria y del planificador.
Causa 9: «Desactivar Xbox Game DVR» (página Optimizaciones)
| Valor | Lo que escribe la casilla | Valor por defecto de Windows (lo que restaura la tarjeta de reparación) |
|---|---|---|
HKCU\System\GameConfigStore, GameDVR_Enabled | 0 | 1 |
HKLM\SOFTWARE\Policies\Microsoft\Windows\GameDVR, AllowGameDVR | 0 | no existe |
HKCU\Software\Microsoft\Windows\CurrentVersion\GameDVR, AppCaptureEnabled | 0 | 1 |
HKCU\Software\Microsoft\GameBar, ShowStartupPanel | 0 | no existe |
HKCU\Software\Microsoft\GameBar, UseNexusForGameBarEnabled | 0, salvo en un Ryzen X3D con dos CCD | no existe |
Todos son DWORD. En un procesador X3D con dos CCD la casilla deja en paz el último valor: la cadena de grabación se desactiva igualmente, pero la parte de Game Bar que escucha el driver de AMD sigue funcionando. Es una precaución, no una causa demostrada, y el mensaje de la casilla dice qué camino tomó. Ryzen X3D, Game Bar y core parking explica por qué esa parte importa en esos chips.
- Cuándo se aplica: w0a no pide reinicio para esta casilla.
- A qué renuncias: a la grabación de Game Bar. Si Win+G deja de abrirse o quieres recuperar la grabación, la tarjeta Game Bar / captura de juegos vuelve a activar Game Bar y Game DVR con los valores por defecto de Windows.
- Qué dice el escaneo de tirones: anota, como información, cuando
GameDVR_EnabledoAppCaptureEnabledsiguen activados; los dos valen 1 en una instalación limpia, así que eso es el valor por defecto, no un fallo. También lee un tercer valor,HistoricalCaptureEnabled(grabación en segundo plano), pero solo para elegir la redacción; la casilla no escribe ese valor.
Compruébalo tú mismo
Estos comandos solo leen:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl" /v Win32PrioritySeparation
reg query "HKCU\System\GameConfigStore" /v GameDVR_Enabled
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\GameDVR"
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\GameDVR" /v AllowGameDVR
reg query "HKCU\Software\Microsoft\GameBar"
Cómo leer las respuestas:
- Los valores se imprimen en hexadecimal:
Win32PrioritySeparation REG_DWORD 0x26significa0x26. 0x2es el valor por defecto de Windows y0x26es la opción de la referencia que favorece a los programas; en una edición cliente los dos planifican igual.0x18es la opción que favorece a los servicios en segundo plano: cuantos más largos y fijos, y ninguna parte extra para el primer plano, que es justo de lo que trata la causa 8. Para cualquier otro valor, escríbelo como seis dígitos binarios y léelo con la tabla de arriba.- Para Game DVR,
0x0significa desactivado (la casilla) y0x1significa activado (el valor por defecto de Windows). - Si la consulta de
AllowGameDVRtermina con un error en lugar de una línea, el valor de directiva no existe, y eso es el valor por defecto de Windows.
Qué hace el escaneo con todo esto
Qué busca el escaneo de tirones ejecuta estas comprobaciones contra lo que Windows y tus drivers ya registraron, y etiqueta cada hallazgo como probado, probable, candidato o no comprobado. Dos cosas que conviene saber: un escaneo que siempre encuentra diez problemas te está vendiendo los arreglos, y una comprobación que no se pudo ejecutar se cuenta en lugar de darse por limpia en silencio.
Después cambia una cosa y graba otra vez la misma escena. Cinco cambios y una sola medición no te dicen nada sobre cuál importó, y todo lo que no haya movido un número debería deshacerse.
Cosas que no son la causa
Todo esto circula sin fin como arreglo para los tirones, y w0a se niega a escribir cada uno de estos valores, por motivos documentados:
DisablePagingExecutive,LargeSystemCacheyDisablePageCombiningcambian el administrador de memoria del kernel;NtfsMemoryUsagecambia el pool del driver de NTFS;IoPageLockLimitySecondLevelDataCachetambién son suposiciones del kernel. Los valores a nivel de kernel son una regla del producto: no se escriben nunca.GlobalTimerResolutionRequestsvive enSession Manager\kernel, una clave que el producto rechaza por completo.MSISupportedcambia el modo de interrupción de un dispositivo; mal puesto, el resultado puede ser una pantalla negra.FeatureSettingsOverrideyFeatureSettingsOverrideMaskdesactivan las mitigaciones de Spectre y Meltdown.OverlayTestModeyDisableOverlaysdesactivan la superposición multiplano (MPO). En una máquina real con Windows 11 25H2 congelaron CS2 por completo y de forma repetible.TdrDelayyTdrDdiDelayalargan el watchdog del driver gráfico, lo que solo hace que cada congelación dure más;TdrLeveldesactiva la recuperación.
En una máquina a la que no le falta memoria, un limpiador de memoria no cambia nada medible.
Relacionado
- Caídas repentinas de FPS en juegos
- Tirones por compilación de shaders
- Cómo leer la prueba de latencia
- Qué busca el escaneo de tirones
- Muchos FPS de media pero malos 1% lows
- Latencia DPC: cuando el que da el tirón es un driver
- Deshacer lo que w0a cambió
¿Juegas a CS2? Qué opciones de lanzamiento siguen haciendo algo y dónde están de verdad los fotogramas en el menú de vídeo: Pocos FPS y tirones en CS2: una lista basada en mediciones
¿Te sirvió esta página?
¿Qué faltaba, o qué no funcionó? Leemos todos estos mensajes.
Si esta página no resolvió tu problema, escríbenos — dinos qué artículo leíste y lo corregimos.