Calculadora de gargalo entre CPU e GPU

Tempos de quadro medidos, não uma pontuação universal de gargalo

Use tempos de quadro da CPU e da GPU capturados na mesma cena repetível, com as mesmas configurações e o mesmo método de execução. A utilização sozinha não comprova um gargalo. Esta ferramenta não possui um banco de dados de modelos de hardware e não faz recomendações de compra ou atualização.

Análise dos tempos de quadro

Descreva o contexto do benchmark

Os rótulos são opcionais. Não insira nomes de contas, números de série nem informações confidenciais do projeto.

Os valores da visualização direta são processados pelo Livewire. Os valores do fluxo, incluindo rótulos opcionais, são incluídos na URL da página e no histórico do navegador para que cada etapa possa restaurá-los. Não insira nomes nem informações confidenciais sobre a carga de trabalho.

Use esta calculadora para comparar tempos de quadro medidos da CPU e GPU na mesma cena de um jogo. Ela estima o limite de taxa de quadros de cada lado, identifica o mais lento apenas quando a diferença supera a tolerância e explica por que uma captura não representa uma porcentagem universal de gargalo para todos os jogos e ajustes.

Como analisar um gargalo de CPU ou GPU

  1. 1

    Capture uma cena reproduzível

    Use um benchmark interno, replay ou percurso fixo com a mesma resolução, qualidade, limite de FPS e estado do VSync. Aqueça o jogo antes de gravar.

  2. 2

    Informe o tempo da CPU

    Copie do profiler o tempo da CPU por quadro em milissegundos. Use um valor representativo da janela de teste escolhida.

  3. 3

    Informe o tempo da GPU

    Copie o tempo correspondente da GPU na mesma cena e janela. Não misture execuções, predefinições ou resoluções diferentes.

  4. 4

    Defina a tolerância e interprete

    A tolerância considera equilibradas as pequenas diferenças que a variação normal entre execuções pode inverter. Repita a captura antes de concluir sobre uma margem estreita.

O tempo de quadro é o ponto de partida útil

Quadros por segundo são o inverso do tempo de quadro. Quando o tempo é medido em milissegundos:

limite da taxa de quadros = 1000 / tempo de quadro em ms

O estágio medido mais lento define o limite simplificado do pipeline:

limite estimado = 1000 / máx(tempo da CPU, tempo da GPU)

Esta é uma estimativa de diagnóstico, não uma promessa de que o jogo apresentará exatamente esses FPS. Limitadores, sincronização, filas, trabalho do motor, carregamento, agendamento do sistema e apresentação na tela podem alterar a taxa observada. A Microsoft separa o tempo da CPU e o da GPU por quadro porque qualquer um deles pode superar o orçamento disponível.

Taxa desejada Orçamento por quadro
30 FPS 33,33 ms
60 FPS 16,67 ms
120 FPS 8,33 ms
144 FPS 6,94 ms
240 FPS 4,17 ms

A conversão 1000 / ms fornece o limite do estágio medido. Por exemplo, 12 ms de CPU correspondem a cerca de 83,33 FPS, enquanto 7 ms de GPU correspondem a 142,86 FPS. Nessa captura, o lado da CPU é mais lento e o limite simplificado fica próximo de 83,33 FPS.

Por que a tolerância importa

Tempos próximos não devem ser apresentados com falsa certeza. A calculadora compara a diferença absoluta ao maior tempo:

diferença relativa = |ms da CPU - ms da GPU| / máx(ms da CPU, ms da GPU) × 100

Se a diferença ficar dentro da tolerância escolhida, o resultado é equilibrado ou indeterminado para a captura. Se ultrapassá-la, o lado com maior tempo de quadro é o limitante atual.

CPU GPU Diferença relativa Resultado com tolerância de 5%
12,0 ms 7,0 ms 41,67% Limitação do lado da CPU
6,0 ms 10,0 ms 40,00% Limitação do lado da GPU
8,0 ms 8,3 ms 3,61% Equilibrado ou próximo demais

Essa porcentagem descreve a separação entre duas medições de uma carga específica. Não é a parcela desperdiçada da CPU ou GPU e não prevê o ganho de trocar hardware.

Torne a captura reproduzível

Uma comparação útil mantém a carga estável. Use sempre o mesmo:

  • jogo e versão do motor;
  • save, replay, sequência de benchmark ou percurso fixo;
  • resolução, escala de renderização, qualidade e API gráfica;
  • limite de FPS, VSync e resolução dinâmica;
  • driver, modo de energia e carga em segundo plano;
  • período de aquecimento e duração da captura.

Faça várias execuções e compare estatísticas representativas, em vez de confiar em uma amostra curta. A orientação de desempenho de CPU da AMD recomenda fixar variáveis como a cena e a semente aleatória. A orientação para Unreal Engine sugere mudar a resolução como diagnóstico: se aumentá-la muito quase não alterar o desempenho, isso é um indício de limite do lado da CPU nessa carga. Ainda é um indício, não um veredito universal.

Utilização não é prova

A utilização pode apoiar o diagnóstico, mas não o comprova sozinha. O uso total da CPU pode parecer moderado enquanto uma thread principal ou de renderização está saturada. Um uso baixo da GPU pode resultar de um limitador de FPS, espera pela CPU, sincronização ou pouco trabalho enviado. Uso alto apenas mostra que a GPU esteve ocupada; não identifica o passe caro nem prevê uma melhoria.

Ferramentas de temporização dão mais contexto. O Intel PresentMon registra quadros e telemetria da GPU; o NVIDIA Nsight mostra durações da CPU e GPU e intervalos de trabalho; o AMD Radeon GPU Profiler visualiza filas e períodos ociosos. Até os limiares dos profilers são heurísticas: a classificação limitada pela CPU do Radeon GPU Profiler usa um limiar ajustável de ociosidade da GPU, não uma lei válida para todos os motores.

O que o 1% low pode ou não mostrar

O 1% low resume a cauda lenta da distribuição de tempos e ajuda a revelar uma entrega irregular que a média esconde. Ele não indica se CPU, GPU, streaming de recursos, compilação de shaders, pressão de memória ou outra pausa causou os quadros lentos.

As definições também variam. Alguns relatórios calculam uma taxa a partir do percentil 99 do tempo (1000 / tempo p99); outros calculam a média do 1% mais lento das amostras de FPS. O NVIDIA Nsight Systems define o comprimento de quadro no percentil 99 como o valor que apenas 1% dos quadros ultrapassa. Registre a ferramenta e a definição e não substitua os tempos correspondentes de CPU e GPU pelo 1% low.

Por que porcentagens universais de gargalo enganam

Um computador não possui uma proporção permanente de gargalo CPU/GPU. O trabalho limitante muda com jogo, cena, resolução, configurações, versão do motor, driver, limitador e taxa desejada. Uma cidade movimentada pode exigir mais simulação e envio de draw calls; outra cena com escala maior pode consumir mais tempo da GPU.

Calculadoras baseadas no nome dos componentes não observam essas condições. Um resultado como “23% de gargalo” sem tempos medidos na mesma cena não tem significado técnico estável. Use esta ferramenta para descrever a captura real, repita o teste na carga relevante e use um profiler de linha do tempo para encontrar o trabalho responsável.

Referências técnicas oficiais

Perguntas frequentes

Informe o tempo da CPU e da GPU por quadro, em milissegundos, da mesma captura e cena. Não use porcentagens de utilização, clocks anunciados, pontuações ou tempos coletados com ajustes diferentes.

Não. Significa apenas que o tempo medido da CPU superou o da GPU além da tolerância nesta captura. Limitador de FPS, configurações, tarefas em segundo plano, uma thread cara ou a cena podem mudar o resultado. Analise a carga antes de generalizar.

Cinco por cento é um ponto de partida prático para separar uma diferença clara de um resultado próximo, mas não é um padrão universal. Aumente-a se as execuções variarem mais e compare várias capturas.

Não. Eles resumem partes diferentes da entrega de quadros e não são tempos de CPU e GPU. Use medições correspondentes em ms e mantenha a média e o 1% low como contexto separado de vazão e consistência.

Resolução e escala costumam alterar o trabalho da GPU mais diretamente que a simulação ou o envio pela CPU. Aumentá-las pode deslocar o maior tempo para a GPU; reduzi-las pode expor um limite da CPU em taxas maiores. O novo resultado descreve outra carga.

Ferramentas relacionadas