É o Santo Graal dos actuais PCs de jogo: 144fps. Você se espalhou em um grande monitor de jogos, e o emparelhou com o CPU mais rápido e uma das melhores placas gráficas que o dinheiro pode comprar. É tão suave, tão responsivo, e você está pronto para dominar seus oponentes com suas habilidades superiores – ou pelo menos sua maior taxa de atualização. Só há um problema. Acertar 144fps (ou mais) em muitos jogos é difícil, e às vezes é simplesmente impossível. O que dá?
Começa com o design e as características principais de um jogo. Não para jogar sombra em consolas (o que quer que seja, estou totalmente a jogar sombra em consolas), mas quando várias das plataformas de jogo da geração actual não conseguem sair a mais de 60Hz, é apenas natural que os jogos nelas jogados não saiam do seu caminho para exceder 60fps – ou mesmo 30fps em alguns casos. Quando um desenvolvedor de jogos começa a partir dessa perspectiva, pode ser muito difícil corrigir a situação. Já vimos jogos como o Fallout 4 empatar física, velocidade de movimento, e mais para enquadrar, muitas vezes com resultados indesejáveis.
Não se trata apenas de atingir 30 ou 60fps, no entanto. A complexidade do jogo continua a aumentar, e complexidade significa fazer mais cálculos. Os jogos de um jogador são normalmente uma experiência diferente dos jogos multiplayer. Estes últimos são inerentemente mais competitivos, o que significa que fps mais altos podem ser mais benéficos para os melhores jogadores, e muitas vezes omitem um monte de coisas que podem aumentar os tempos de frames.
Pense em jogos como Counter-Strike, Overwatch, PUBG, e Fortnite por exemplo. Há muito pouco no caminho da lógica AI ou NPC que precisa acontecer. A maior parte do mundo é estática e são apenas os jogadores que correm por aí, o que significa muito menos overhead e, em última análise, o potencial para framerates superiores.
Jogos primários de um único jogador são uma questão diferente. Veja os ambientes de Assassin’s Creed Odyssey, Monster Hunter World e Hitman 2. Pode haver centenas de criaturas, NPCs e outras entidades que precisam ser processadas, cada uma com diferentes animações, sons e outros efeitos. Isso pode atolar até mesmo as CPUs mais rápidas, onde grande parte desse processamento ocorre.
Yes, a CPU e não a GPU. Embora a GPU seja frequentemente considerada o gargalo para a performance dos jogos, trata-se principalmente de selecionar a resolução apropriada e a qualidade gráfica. Diminua as configurações e/ou resolução o suficiente e a CPU torna-se o fator limitante. E em jogos complexos, esse limite de CPU pode facilmente cair abaixo de 144fps. Enquanto uma placa gráfica rápida é frequentemente necessária para atingir 144fps, uma CPU igualmente rápida também pode ser necessária.
Assassin’s Creed Odyssey pode quase atingir 144fps … com um RTX 2080 Ti.
Hitman 2 bateu num gargalo de CPU de cerca de 122fps.
Monster Hunter World também tem dificuldade em ficar acima dos 120fps.
Consulte os benchmarks de CPU em Assassin’s Creed, Monster Hunter, e Hitman. Correndo a 1080p e com qualidade baixa ou média, há uma excelente escalada em termos de desempenho da CPU, mas 144fps ainda é um obstáculo difícil de ser vencido. Mais importante ainda, o escalonamento vem principalmente da velocidade do relógio, com a contagem de núcleo e thread sendo um fator menos importante – especialmente ultrapassando os processadores de 6 núcleos. Isso porque a maioria dos jogos ainda são regidos por um único thread que faz muito do trabalho.
Volte as coisas e pense em cada frame em termos de milissegundos. Para um estável 60fps, cada frame tem no máximo 16,7ms de gráficos e tempo de processamento. Salte para 144fps e cada frame tem apenas 6,9ms para completar tudo. Mas quanto tempo realmente leva para cada parte da renderização de um frame atual? A resposta é que isso varia, e isso leva a uma discussão da Lei de Amdahl.
A essência da Lei de Amdahl é que há sempre porções de código que não podem ser paralelizadas. Imagine um jogo hipotético onde um único núcleo Intel de 4.0GHz leva 50ms para lidar com todos os cálculos para cada frame. Esse jogo seria limitado a 20fps. Se 75 por cento do código do jogo pode ser dividido em subtarefas que rodam concomitantemente, mas 25 por cento executa em uma única thread, então independentemente de quantos núcleos de CPU estão disponíveis o melhor desempenho em uma CPU Intel de 4.0GHz ainda seria apenas 80fps. Eu fiz alguma matemática rápida e suja para ilustrar:
Redefinir o código do jogo para que apenas 12,5 por cento execute num único fio, talvez até 5 por cento, possa ajudar. Então 160fps ou mesmo 400fps é possível, mas isso leva tempo de desenvolvimento que pode ser melhor gasto em outros lugares – e é claro que CPUs não têm um número infinito de núcleos e threads. A questão é que há um tempo limitado para lidar com todo o processamento de entrada do usuário, estado do jogo, código de rede, gráficos, som, IA, etc. e jogos mais complexos requerem inerentemente mais tempo.
Even com 4GHz e CPUs mais rápidas trabalhando em conjunto com milhares de núcleos de GPU, 6,9ms passa rapidamente, e se você estiver olhando para uma tela de 240Hz rodando jogos a 240fps, isso tem apenas 4,2ms para cada frame. Se houver algum soluço pelo caminho – por exemplo, o jogo precisa carregar alguns objetos ou texturas do armazenamento, o que pode levar de alguns milissegundos em um SSD rápido a talvez dezenas de ms em um disco rígido – o jogo vai gaguejar muito. Esse é o mundo em que vivemos.
Vamos colocar isto de uma forma diferente. Os PCs modernos podem potencialmente mastigar bilhões de cálculos a cada segundo, mas cada cálculo é extremamente simples: A + B, por exemplo. Manipular uma atualização lógica para uma única entidade pode requerer milhares ou dezenas de milhares de instruções, e todas essas atualizações de IA e entidades ainda são apenas uma pequena fração do que tem que acontecer em cada frame. Os desenvolvedores de jogos precisam equilibrar tudo para alcançar um nível aceitável de desempenho, e em PCs que podem significar a capacidade de rodar em tudo desde um antigo Core 2 Quad de 4 núcleos ou Athlon X4 até uma moderna CPU Ryzen ou 9th Gen Core, e GPUs que vão desde gráficos integrados Intel até GeForce RTX 2080 Ti.
É possível criar jogos que podem rodar em framerates extremamente altos. Nós sabemos disso porque eles já existem. Mas esses jogos normalmente não são o estado da arte em termos de gráficos, IA, e outros elementos. Eles são fundamentalmente mais simples, de maneiras por vezes não tão óbvias. Mesmo a redução da complexidade do jogo e dos gráficos só pode ir tão longe. CS:GO de 7 anos de idade a 1080p com um Core i7-8700K de 5GHz overclock no máximo a cerca de 300fps (3,3ms por frame), com gaguejadores a baixarem o mínimo de fps para cerca de metade disso. Você pode executar CS:GO a 270-300fps em tudo desde um GTX 1050 até um Titan RTX, porque o CPU é o principal fator limitante.
Em resumo, atingir 144fps não é apenas uma questão de hardware. É sobre software e design de jogos, e às vezes você só tem que deixar ir. Se você tem o coração no jogo 144fps, o melhor conselho que posso dar é lembrar que framerates (ou frametimes, se preferir) não são tudo. Para multiplayer competitivo onde todas as vantagens de latência possíveis podem ajudar, baixe as configurações para o mínimo e veja como o jogo funciona, e potencialmente aumente algumas configurações se houver espaço de manobra.
Even se você não conseguir manter 144fps ou mais, as taxas de atualização 144Hz ainda são impressionantes – eu posso sentir a diferença apenas interagindo com o desktop do Windows. Os monitores de 144Hz de maior qualidade também suportam G-Sync e FreeSync, o que pode ajudar a evitar gaguez e rasgões perceptíveis quando você cai um pouco abaixo de 144fps. Framerates perfeitamente suaves seriam bons, mas só isso não vai fazer um jogo fantástico. Então relaxe e aproveite o passeio, independentemente do seu hardware ou framerate.
Recent news