한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Guia do Lag em Jogos › L2 SO e dispositivo do cliente

Processos em segundo plano ocupando a CPU Background CPU contention

ID da causa co-background · Responsável principal Externo (Externo) · Também envolvidos Desenvolvimento do cliente (Equipe de desenvolvimento)

Abrir o card interativo, com figuras e simulações →

Quando a varredura do antivírus, o Windows Update, um programa de transmissão ao vivo ou um vídeo no navegador ocupam os núcleos, a thread do jogo fica esperando, sem receber tempo de CPU.

Por quê Outro programa ocupa um núcleo da CPU por muito tempo → Efeito A thread do jogo fica esperando CPU na fila do escalonador → Na tela Os frames atrasam, e o processamento dos pacotes recebidos também

Sintomas
Engasgos, Avanço rápido
Fatores
Paralisação
Quem é afetado
Só eu
Quando
Aleatoriamente, de vez em quando, Em intervalos regulares
Responsável
Responsável principal Externo (Externo) · Também envolvidos Desenvolvimento do cliente (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Ajustar a prioridade da thread do jogo, registrar o uso total de CPU do PC nos logs gerados quando há engasgos, para saber se a culpa é de outro programa.
O que fazer (Externo)
Orientar os jogadores a ativar o Modo de Jogo do Windows e a fechar programas desnecessários durante o jogo (varredura do antivírus, Windows Update, programa de transmissão ao vivo, vídeo no navegador).
Números de referência
Em geral, o Windows entrega cada núcleo em fatias de alguns ms a dezenas de ms. Basta ficar para trás uma única vez no escalonamento para perder um frame.
No gráfico
Picos aleatórios · Uso total de CPU do PC, frame time
Onde olhar
Registrar a coluna CPU da guia Processos do Gerenciador de Tarefas e Processor Information(_Total)\% Processor Time do Monitor de Desempenho junto com o frame time do PresentMon. Se o antivírus for suspeito, gravar com New-MpPerformanceRecording e ver com Get-MpPerformanceReport os arquivos e processos com maior tempo de verificação
Confirma se
No horário do engasgo, o uso de CPU de outro programa (varredura do antivírus, atualização, programa de transmissão) dispara, ou arquivos da pasta do jogo aparecem no topo do tempo de verificação. Ao fechar esse programa ou adicionar uma exclusão, o problema some
Descarta se
Uso de CPU baixo, mas a tela inteira engasga e o som chia: “Economia de energia e problemas de driver da placa de rede” (latência de DPC)
Como verificar
Verificação no ambiente do jogador
Saiba mais
O Windows dá um pouco mais de prioridade ao programa da janela em primeiro plano, mas, se houver mais trabalho do que núcleos, o jogo também espera. O antivírus interfere mais vezes pela “proteção em tempo real” do que pelo uso de CPU. Ele verifica cada arquivo que o jogo abre, e as pausas na leitura de assets ficam mais longas.

Fontes

  1. Multitasking Microsoft
    O Windows dá a cada thread uma fatia de tempo e, quando ela acaba, passa para a próxima thread; a fatia de tempo é de cerca de 20 ms (varia conforme o SO e a CPU)
  2. Priority Boosts Microsoft
    O processo da janela em primeiro plano recebe prioridade igual ou maior que a dos processos em segundo plano
  3. About regular quick and full scans with Microsoft Defender Antivirus Microsoft
    A proteção em tempo real verifica os arquivos toda vez que eles são abertos e fechados e toda vez que uma pasta é aberta
  4. Network-Related Performance Counters Microsoft
    Contador Processor Information: % Processor Time
  5. Performance analyzer for Microsoft Defender Antivirus Microsoft
    Gravar com New-MpPerformanceRecording e ver com Get-MpPerformanceReport os arquivos, caminhos e processos que mais pesaram no tempo de verificação
  6. PresentMon Capture Application (README-CaptureApplication.md) Intel
    Grava o tempo de cada frame com o FrameTime (tempo de CPU entre frames)

Veja também

Mesma camada: L2 SO e dispositivo do cliente

Mesmo sintoma (Engasgos) em outras camadas

Ver o card interativo, com figuras e simulações