Inicio / Latencia y Timers

⏱️ Latencia y Timers

Interrupciones, DPC, Timer Resolution y mensajes WM

🎯 Interrupciones y DPC

Configurar prioridades de interrupciones y DPC (Deferred Procedure Call) para reducir latencia:

Prioridad de Interrupciones powershell
$path = "HKLM:\SYSTEM\CurrentControlSet\Control\KernelVelocity"
New-Item -Path $path -Force | Out-Null
New-ItemProperty -Path $path -Name "DisableDynamicTick" -PropertyType DWord -Value 1 -Force
DPC Watchdog powershell
$path = "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\kernel"
New-ItemProperty -Path $path -Name "DpcWatchdogProfileOffset" -PropertyType DWord -Value 10000 -Force

⏲️ Timer Resolution

Windows usa resolución de timer de 15.625ms por defecto. Para gaming, reducirlo mejora tiempos de respuesta:

Default: 15.625 ms (64 Hz)
Gaming: 1 ms (1000 Hz)
Agresivo: 0.5 ms (2000 Hz)
Establecer resolución 0.5ms powershell
bcdedit /set disabledynamictick yes
bcdedit /set useplatformclock true
💡

💡 Herramientas Timer

Usa TimerResolution de Lucas Hale o HPET para ajustar manualmente timer resolution en tiempo real sin reiniciar.

🔄 High Precision Event Timer (HPET)

HPET puede causar latencia adicional. Desactivarlo mejora rendimiento en gaming:

Desactivar HPET powershell
bcdedit /deletevalue useplatformclock
Desactivar HPET en Device Manager (alternativa) powershell
Get-PnpDevice | Where-Object {$_.FriendlyName -like "*High Precision Event Timer*"} | Disable-PnpDevice -Confirm:$false
⚠️

⚠️ Compatibilidad

En sistemas muy antiguos o notebooks, HPET puede ser necesario. Prueba si tu sistema es estable sin él antes de aplicar permanentemente.

📨 Reducir Mensajes WM

Reducir tiempo de cola de mensajes de Windows mejora responsividad:

Win32PrioritySeparation powershell
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\PriorityControl" -Name "Win32PrioritySeparation" -PropertyType DWord -Value 38 -Force

Valores Recomendados:

26 (0x1A): Balanceado
38 (0x26): Gaming (prioridad foreground)
40 (0x28): Máxima prioridad foreground

🚀 IRQ y Affinity

Ajustar prioridad IRQ de tarjeta de red y GPU:

Configurar prioridad IRQ alta powershell
$path = "HKLM:\SYSTEM\CurrentControlSet\Control\PriorityControl"
New-ItemProperty -Path $path -Name "IRQ8Priority" -PropertyType DWord -Value 1 -Force
New-ItemProperty -Path $path -Name "IRQ16Priority" -PropertyType DWord -Value 2 -Force
💡

💡 MSI Mode

Para reducir latencia aún más, habilita MSI (Message Signaled Interrupts) en dispositivos PCI-E usando MSI Utility o editando registro.

⚠️

⚠️ Reinicio Requerido

Todos estos cambios requieren reinicio completo del sistema para aplicarse correctamente.