Cuando un análisis del antivirus, Windows Update, un software de streaming o un video en el navegador ocupan los núcleos, el hilo del juego espera sin recibir CPU.
Por qué Otros programas ocupan un núcleo de la CPU durante mucho tiempo → Efecto El hilo del juego queda en espera de CPU → En pantalla Los frames llegan tarde y el procesamiento de los paquetes recibidos también se retrasa
Responsable principal Externo (Externo) · También Desarrollo de cliente (Equipo de desarrollo)
Tareas (Equipo de desarrollo)
Ajustar la prioridad del hilo del juego, registrar el uso total de CPU del sistema en los logs que se toman cuando hay tirones, para distinguir si la culpa es de otro programa.
Tareas (Externo)
Indicar a los jugadores que activen el Modo de juego de Windows y que cierren durante la partida los programas innecesarios (análisis del antivirus, Windows Update, software de streaming, videos en el navegador).
Cifras de referencia
Windows suele ceder los núcleos en porciones de varios ms a decenas de ms. Basta con quedarse sin turno una sola vez para perder un frame entero.
En el gráfico
Picos aleatorios · Uso total de CPU del sistema, tiempo de frame
Dónde mirar
Registrar la columna CPU de la pestaña Procesos del Administrador de tareas y Processor Information(_Total)\% Processor Time del Monitor de rendimiento junto con el tiempo de frame de PresentMon. Si se sospecha del antivirus, grabar con New-MpPerformanceRecording y ver con Get-MpPerformanceReport qué archivos y procesos tienen los análisis más largos
Se confirma si
En los momentos de tirones se dispara el uso de CPU de otro programa (análisis del antivirus, actualizaciones, software de streaming), o los archivos de la carpeta del juego aparecen entre los de mayor tiempo de análisis. Al cerrar ese programa o añadir una exclusión, desaparece
Se descarta si
Si el uso de CPU es bajo y aun así toda la pantalla da un tirón y el sonido chisporrotea: “Ahorro de energía y drivers de la NIC” (latencia de DPC)
Se verifica con
En el entorno del jugador
Para saber más
Windows da algo más de prioridad al programa de la ventana en primer plano, pero si hay más trabajo que núcleos, el juego también espera. El antivirus interviene sobre todo a través de la “protección en tiempo real”; su consumo de CPU molesta con menos frecuencia. Analiza cada archivo que abre el juego, así que las pausas al leer assets se alargan.
Fuentes
MultitaskingMicrosoft Windows da a cada hilo una porción de tiempo (time slice) y, cuando la agota, pasa al siguiente hilo; la porción dura unos 20 ms (varía según el SO y la CPU)
Priority BoostsMicrosoft El proceso de la ventana en primer plano recibe una prioridad igual o superior a la de los procesos en segundo plano