FPS: por que 30 FPS é um problema nos PCs, mas não nos consoles?

9 min de leitura
Imagem de: FPS: por que 30 FPS é um problema nos PCs, mas não nos consoles?
Imagem: Felipe Vidal

Nos últimos dias a Bethesda e a Xbox confirmaram que o tão aguardado Starfield chegará ao Xbox Series S e X com uma taxa de frames travada a 30. Como era de se esperar, o tópico virou uma grande discussão na comunidade gamer, levando muitos a questionarem se essa decisão é puramente artística por parte dos desenvolvedores, ou por conta de dificuldades na otimização do projeto.

Com isso em mente, é muito comum que games rodando a 30 frames por segundo nos consoles pareçam — e sejam — mais suaves e fluidos do que no PC. Mas por qual motivo um jogo no computador performa de maneira pior se a taxa de quadros é a mesma nas duas plataformas?

PC vs console: a briga dos 30 quadros

Antes de tudo, é preciso entender que o processo de otimização de um jogo varia de plataforma para plataforma. É normal ler notícias de games muito mal otimizados no PC, mas que rodam relativamente bem e quase sem problemas no PlayStation 5 ou Xbox Series.

Isso acontece, pois o processo de otimização de jogos para os consoles é mais simples, já que na maioria das vezes os videogames têm componentes similares. No PC, é impossível os desenvolvedores saberem quais são as peças de todos os jogadores, e otimizarem o projeto para todos.

Em resumo, é mais fácil trabalhar com uma plataforma que você sabe a capacidade máxima da máquina, do que trabalhar com a ideia de múltiplas máquinas totalmente diferentes, e que vão ter desempenhos muito distintos.

Quadros, frametime e taxa de atualização

Embora seja algo usado de forma corriqueira, muitas pessoas ainda tem dúvidas sobre exatamente o que é um quadro, ou frame, e o que é a taxa de atualização de um monitor. Um quadro é, basicamente, uma imagem. E uma sequência de imagens passadas de forma rápida cria um vídeo. Ou seja, o quadro/frame é uma imagem exibida muito rapidamente para formar um vídeo.

Quando a expressão "30 quadros por segundo" é mencionada, significa que um vídeo possui 30 imagens a cada segundo. O mesmo vale para 60 quadros, 120 quadros, e assim por diante. No meio desses quadros há algo chamado de frametime, ou seja, o tempo que cada quadro leva para ser criado em um segundo. 

Quanto maior a quantidade de frames por segundo, maior é a fluidez dos comandos.Quanto maior a quantidade de frames por segundo, maior é a fluidez dos comandos.Fonte:  Gfycat 

Idealmente, para que 30 frames fiquem estáveis em um segundo, cada frame deve ser criado em 33,33 milissegundos (ms). Já o ideal para 60 quadros, é que cada um surja a cada 16,66ms. Para obter esse número, basta dividir a quantidade de segundos pela taxa de quadros, e depois multiplicar por 1000 — já que estamos falando de milésimos de segundos.

Para que um PC ou videogame consiga criar esses quadros, é considerado especialmente a capacidade do processador e da placa de vídeo. A CPU vai calcular aspectos não-gráficos, como inteligência artificial, a física, ambientes, NPCs, e descrever tudo que deve ser renderizado graficamente para e pela placa de vídeo.

Atrasos na criação dos quadros criam deformações na jogatina.Atrasos na criação dos quadros criam deformações na jogatina.Fonte:  NVIDIA (adaptado) 

O problema do stuttering

Mas por que essa estabilidade é importante? Se um jogo roda a 30 ou 60 quadros, isso já não significa que ele roda de forma estável? Infelizmente, não. O tempo dos quadros é importante, pois, caso os frames sejam criados de forma lenta ou rápida demais em um segundo, isso cria instabilidade no sistema.

Na prática, isso acontece quando você está jogando qualquer game travado a 30/60 FPS, mas percebe que o jogo exibe engasgos rápidos em alguns trechos. Essas travas podem até não te impedir de continuar a jogatina, mas incomodam. A isso, é dado o nome de stuterring

Tempo dos quadros prejudicado por stuterring (cima) vs tempo dos quadros completamente estável (baixo). A segunda imagem teve os quadros travados com o Rivatuner.Tempo dos quadros prejudicado por stuterring (cima) vs tempo dos quadros completamente estável (baixo). A segunda imagem teve os quadros travados com o Rivatuner.Fonte:  Felipe Vidal/TecMundo 

Esse problema acontece quando há uma irregularidade entre a criação do quadro pela placa de vídeo e a taxa de atualização do monitor ou TV. De forma lúdica, a TV/monitor fica "esperando" que um frame novo chegue, mas a placa de vídeo — por diversos motivos —  pode atrasar sua produção. Dessa maneira, a imagem acaba "pulando" um frame que deveria ter sido exibido, passando logo para o próximo e dando a sensação de falha.

A taxa de atualização corresponde a quantidade de hertz (Hz) que uma tela pode exibir. Ou seja, quando uma tela tem 144Hz, significa que ela tem a capacidade de exibir 144 frames a cada segundo. Uma TV/monitor de 60Hz só exibe 60 frames a cada segundo, mesmo que o PC ou console seja capaz de produzir mais quadros.

O stuterring causa falhas visuais e faz com que haja uma sensação de quebra de fluidez no jogo. Felizmente, como já foi explicado nos parágrafos iniciais, os consoles tem uma otimização exclusiva. Os desenvolvedores podem trabalhar especificamente para que o sistema sempre faça os 33,33ms quando travado a 30 quadros, ou os 16,66ms a 60 frames, sem que hajam inconsistências. Dessa maneira, quase sempre os jogadores têm uma experiência suave.

Alguns games de console são marcados por instabilidade, como Cyberpunk 2077 nos primeiros meses de lançamento. Tanto o gráfico de quadros quanto o de tempo demonstram inconsistências na gameplay.Alguns games de console são marcados por instabilidade, como Cyberpunk 2077 nos primeiros meses de lançamento. Tanto o gráfico de quadros quanto o de tempo demonstram inconsistências na gameplay.Fonte:  Digital Foundry/reprodução 

Nos PCs é impossível isso acontecer devido à quantidade imensurável de processadores, placas de vídeo e quantidades de memória RAM existentes. Logo, nos computadores é mais comum ocorrer o stuttering, e a jogatina tem a tendência a ser menos fluída em boa parte dos jogos.

Screen tearing e o V-Sync

Se a criação de menos frames é um problema causador de stuttering, uma quantidade muito grande de FPS também pode ser uma dor de cabeça. Em muitas situações, a placa de vídeo até consegue fazer mais quadros do que a própria taxa de atualização do monitor suporta. Por exemplo, uma GPU fazendo 100 frames com um monitor de apenas 60Hz.

O que acontece na prática, é que a taxa de atualização da tela não consegue acompanhar a quantidade de frames que a placa está renderizando. Muita das vezes a placa gráfica enviará tantos quadros para a tela, que o display não conseguirá "entender" aquela imagem e acaba criando rasgos durante a jogatina, gerando o famoso screen tearing, conforme a imagem abaixo.

O tearing não é responsável por travar o jogo, mas cria uma sensação esquisita.O tearing não é responsável por travar o jogo, mas cria uma sensação esquisita.Fonte:  DisplayNinja/reprodução 

Felizmente, todos os jogos para PC possuem uma funcionalidade chamada de V-Sync, a Sincronia Vertical. Esse recurso trava a quantidade de frames produzidos pela placa de vídeo, geralmente sempre em 30 ou 60 quadros.

De fato, o V-Sync acaba com o tearing, mas cria um novo problema. Basicamente, a função desse recurso é limitar a performance da placa de vídeo para que este componente só crie o número de frames necessários (30 ou 60 fps). Porém, ao limitar o desempenho da placa de vídeo pode haver stuttering, já que está havendo um atraso na criação dos quadros. No fim das contas, o cenário começa a se repetir.

Além disso, por desacelerar a produção de frames, os jogadores que ativam o V-Sync podem sentir o fenômeno do input lag, ou seja, a diferença entre o jogador apertar um botão e o comando ser realizado no jogo. Quanto maior o input lag, menor é a responsividade do game.

Como alternativa, empresas como NVIDIA e AMD criaram as tecnologias G-SYNC e FreeSync, respectivamente. A ideia é muito parecida, embora tenham certas particularidades, e a principal função é fazer uma sincronia melhorada entre o framerate e a taxa de atualização da tela, ao passo que reduz o input lag.

G-SYNC e FreeSync já estão disponíveis em inúmeros monitores e TVs para games.G-SYNC e FreeSync já estão disponíveis em inúmeros monitores e TVs para games.Fonte:  AMD/reprodução 

Vale salientar que o screen tearing também pode acontecer quando a taxa de quadros cai muito.

Por exemplo, se o framerate oscila entre 40 e 60 FPS, pode haver atrasos na criação dos quadros —  criando o stuttering —  mas também gerando "rasgos" na tela, pois enquanto um quadro inteiro está sendo exibido, uma parte do segundo frame corta a imagem até que sua metade seja renderizada e mostrada totalmente.

Motion blur

Além dos desenvolvedores programaram com mais certeza o frametime dos quadros nos vídeogames, existe um efeito que torna os movimentos mais realistas e agradáveis aos olhos: o motion blur.

Também conhecido como desfoque de movimento, o motion blur é aquele rastro rápido que aparece quando você movimenta sua mão muito rapidamente na frente do rosto e há a sensação de que ele está "esticando", mas só está se locomovendo em alta velocidade.

O desfoque acontece mediante ao aumento do nível de exposição das câmeras.O desfoque acontece mediante ao aumento do nível de exposição das câmeras.Fonte:  Motion Array/reprodução 

No cinema, os filmes são gravados a 24 frames para aproveitar o motion blur mais suave e que parece mais com a realidade humana. Nos games isso pode ser aplicado, claro, e ainda há opções para aumentar, diminuir e até mesmo retirar o motion blur do movimento da tela.

Mas fazendo uma co-relação entre as informações, se o cinema usa 24 quadros para tentar emular movimentos mais reais, e muitos jogos nos consoles rodam a 30 quadros, então isso significa que os vídeogames travados a 30 trazem uma experiência superior por padrão.

Como nos PCs não há travas de framerate impostas como nos consoles, a configuração do motion blur vai variar muito de acordo com a quantidade de quadros que estão sendo exibidos na tela, e consequentemente o realismo do movimento será relativo.

É possível que travando a 30, o desfoque de movimento fique bem agradável, mas também é possível que crie um efeito ruim na tela, já que não houve um ajusto pré-determinado para cada framerate diferente. Dessa forma, muitos jogadores optam por desligar a função e abrem mão de uma possível suavidade.

Como deixar os jogos mais fluídos a 30 quadros no PC?

Uma das melhores opções é baixar o programa MSI Afterburner, e no momento da instalação também instalar o software Rivatuner Statistics. Com esses dois aplicativos abertos junto ao game, o Rivatuner vai monitorar as estatísticas, enquanto o Afterburner mostrará os dados na tela.

O truque é que o jogador pode abrir o Rivaturner e travar a taxa de quadros a 30 ou 60 frames, estabilizando o tempo dos quadros, e tornando a experiência mais prazerosa. Isso pode não funcionar sempre, mas é uma alternativa na maioria dos casos.

O Rivatuner é um software renomado desde o fim da década de 90. O aplicativo consegue limitar a taxa de quadros assim como o V-Sync, mas gera um input lag muito mais baixo, e evita stuttering. Por outro lado, não impede a criação de screen tearing, já que força externamente esse limite e não é uma funcionalidade que trabalha dentro dos jogos, como o G-Sync e FreeSync.

Usar o Rivatuner garante linhas de frametime estáveis em quase todos os jogos.Usar o Rivatuner garante linhas de frametime estáveis em quase todos os jogos.Fonte:  Felipe Vidal/TecMundo 

Caso não resolva, é bom se atentar aos componentes do PC. O processador ou placa de vídeo podem não estar no mesmo ritmo, gerando o famoso gargalo — quando alguma das peças do computador limitam o desempenho geral do sistema. A falta de memória RAM é um dos principais causadores de stuttering, e aumentar essa quantidade pode ajudar em certas situações.

Cupons de desconto TecMundo:
* Esta seleção de cupons é feita em parceria com a Savings United
Você sabia que o TecMundo está no Facebook, Instagram, Telegram, TikTok, Twitter e no Whatsapp? Siga-nos por lá.