Analógico

TFLOPS, GHz e GB/s: Os números que descrevem hardware e sua importância para jogos

PS4 Pro e Xbox Scorpio mostram números impressionantes, mas como eles afetam nossos jogos?



Ano passado, na época do anúncio do PlayStation 4 Pro, escrevi um artigo explicando os principais jargões usados para falar das mais novas tecnologias de TV, 4K e HDR. Com as recentes revelações acerca do ainda misterioso Xbox Scorpio, encontro-me em uma situação similar, mas com outro conjunto de terminologias: as de especificações de hardware. Mais do que em qualquer outro momento da história dos consoles de videogame, a Microsoft está enfatizando todos os números que descrevem o desempenho de seu novo hardware, mas… O que diachos isso tudo significa?

Neste texto tentarei explicar de maneira simples alguns aspectos do funcionamento de um computador. Espere várias siglas e diversos números, mas prometo que todos serão devidamente descritos. Caso dúvidas permaneçam, farei o possível para responder os comentários.

Uma breve história dos consoles

Em primeiro lugar, é sempre importante relembrar que consoles são — e sempre foram — computadores customizados, mas a maneira em que isso ocorre foi evoluindo com os anos. Os componentes principais de computadores, processador e memória, são os mesmo há décadas, mas, em consoles antigos como o NES e o SNES, esses componentes eram feitos especificamente para apenas uma tarefa: rodar videogames. Empresas esbanjavam o número de bits que a CPU (central processing unit, unidade de processamento central) suportava — os bits indicavam algumas características do console, como a complexidade de suas instruções e a quantidade de memória acessível pelo processador.
No início dos anos 1990, os bits eram tudo.



Com a chegada de gráficos poligonais no Nintendo 64 e PlayStation, foi necessária a inclusão de um processador dedicado apenas para a renderização de visuais: a GPU (graphics processing unit, unidade de processamento gráfico), componente que já era encontrado em PCs na forma de placas de vídeo. Na transição de 32 para 64 bits, esse número perdeu parte de sua importância; as capacidades da GPU passaram a ser o maior diferencial entre os console da época.

Enquanto o PlayStation 2 seguiu uma arquitetura de hardware similar à de seu antecessor, o GameCube e o Xbox se aproximaram ainda mais de PCs. O GameCube contava com componentes fabricados pela IBM e pela ATI, enquanto a Microsoft havia feito parceria com a Intel e a Nvidia. Na geração seguinte, o Xbox 360 também adotou o combo IBM/ATI; seu hardware era tão convencional que as primeiras demonstrações foram feitas com PowerMacs G5 — computadores da rival Apple. A Sony também adotou uma CPU da IBM, mas com uma arquitetura fora do comum desenvolvida para supercomputadores, a Cell. Apesar do enorme poder do chip, sua complexidade fez com que desenvolvedores demorassem demais para poder aproveitá-lo.
Este PowerMac foi usado para demonstrações do Xbox 360 na E3 2005.
Na transição para a oitava geração, a Sony refletiu sobre as dificuldades do PlayStation 3 e resolveu seguir os passos da Microsoft. O resultado disso foi que o PlayStation 4 e o Xbox One foram lançados com hardwares incrivelmente similares: ambos usam um chip que agrega CPU e GPU, fabricado pela AMD, baseado na arquitetura Jaguar (o Wii U também usa uma APU, mas continuou com a combinação IBM/AMD). Ambos têm 8 núcleos de processamento e 8GB de memória compartilhada. No fim, o foco da Sony em uma GPU mais poderosa e memória mais rápida compensou: são raros os jogos com desempenho melhor no Xbox por conta de seu processador marginalmente mais rápido.

Em 2016, descobrimos que as duas empresas estavam, novamente, traçando trajetos similares, através de atualizações de hardware para seus consoles. No final do ano, a Sony lançou o PlayStation 4 Pro, uma aprimoração do hardware do PS4, mas dedicado a manter compatibilidade com todos os jogos já disponíveis para o console. Para atingir isso, a empresa tomou o caminho mais óbvio: aumentou a frequência da CPU e dobrou a quantidade de núcleos da GPU. Isso facilita a adaptação de software já existente para o novo hardware e, para garantir retrocompatibilidade, basta desativar metade dos núcleos da GPU e ajustar as frequências. Resultado: o PS4 Pro é capaz de produzir visuais de qualidade muito mais alta que o console original, mas exige que os desenvolvedores incluam um modo para seus jogos aproveitarem isso.
Fonte: Digital Foundry
Com o Project Scorpio, a Microsoft está tomando um caminho um pouco diferente. Além de aumentar a quantidade de núcleos e a frequência, a empresa americana está incluindo uma variedade de otimizações em hardware e software para extrair o máximo de desempenho do console. Como consequência, não é tão simples ter um modo que simule o desempenho do Xbox One original para jogos existentes, mas, segundo a empresa, isso será resolvido a nível de software. Assim como o Xbox One roda jogos de Xbox 360, o Scorpio poderá rodar jogos de Xbox One e já aproveitar seu hardware mais poderoso para obter alguns benefícios, como melhor desempenho e resolução.

4K ou 60fps? Por que não ambos?

Para entender a importância do hardware para jogos, é interessante saber como jogos modernos lidam com resolução e taxa de quadros, além de entender por que ocorrem as infames quedinhas.

Em geral, jogos buscam atingir um desempenho de 30 ou 60 quadros por segundo. Isso significa que, a cada segundo, o computador deve produzir e exibir 30 ou 60 imagens, levando em consideração comandos do usuário, simulações de física ou inteligência artificial, e a geração dos gráficos. Assim como no cinema, a ilusão de movimento é obtida através da rápida sequência de imagens estáticas. A queda de desempenho acontece quando, por um ou outro motivo, um quadro leva mais tempo do que o esperado para ser produzido. Se um aspecto do processo demora demais, em geral os outros precisam ser descartados para já começar a trabalhar no quadro seguinte.
Zelda: Breath of the Wild (Wii U/Switch) sofre de quedas quando a GPU precisa renderizar longas distâncias no mundo aberto.


Deve-se notar que nem todos esses aspectos são escaláveis entre si. 60fps é o dobro de 30fps, e 4K é quatro vezes 1080p, mas isso não significa que um hardware capaz de rodar um jogo a 4K e 30fps seria perfeitamente capaz de rodar o mesmo game em 1080p e 120fps, porque os recursos necessários para cada aspecto são distintos. Em geral, a taxa de quadros é definida pela CPU e é função da GPU renderizar os visuais nessa taxa — quanto mais poderosa a GPU, maior será a resolução e qualidade de imagem possível na mesma taxa de quadros. Quando a CPU atrasa, ocorre o framerate drop — o jogo fica mais lento, porque toda sua lógica está sendo executada com atraso. Quando a culpa é da GPU, há o frame skip — a velocidade do jogo permanece a mesma, mas são produzidos menos quadros a cada segundo, afetando nossa percepção de movimento.

Como consequência desses problemas de desempenho, podem ocorrer outros tipos de fenômenos. Um deles é o stuttering, que ocorre quando a CPU atrasa em um determinado intervalo; a consequência é que o jogo parece engasgar por um instante em cada segundo, mas roda normalmente no restante do tempo. Outro é o screen tearing, que é quando a GPU e a tela (TV ou monitor) ficam fora de sincronia, então a tela exibe partes de dois quadros ao mesmo tempo; isso causa a impressão de uma imagem rasgada, onde uma parte da imagem está levemente atrasada em relação à outra.
Screen tearing pode ocorrer quando a GPU renderiza mais quadros do que tela pode exibir.

Uma sopa de numerozinhos e letrinhas

O anúncio da Digital Foundry revelou as seguintes especificações sobre o Xbox Scorpio:
  • CPU: AMD Jaguar customizado de 8 núcleos, 2,3GHz;
  • GPU: 40 unidades de computação, 1172MHz;
  • Memória: 12GB GDDR5, 326GB/s.
Fonte: Digital Foundry
Os números deixam claro que o Scorpio é substancialmente mais poderoso que o PS4 Pro, e um salto enorme acima do PS4 e do Xbox One, mas os benefícios de cada um deles podem não ficar aparentes. Abaixo, detalho a importância de cada componente na renderização de um jogo, e como eles podem afetar resolução e taxa de quadros.

A CPU comanda qualquer computador. Ela é responsável não só por administrar os recursos do HD, da memória e da GPU, mas também por fazer todo o processamento não-gráfico de um jogo. Geração de mundo? Inteligência artificial? Reconhecimento de controles? São tarefas da CPU. Na maioria dos casos, ela também deve lidar com som e física. O impacto da CPU sobre a resolução é mínimo, mas é importante para o desempenho.

Há diversos fatores que afetam o desempenho de um processador, mas a frequência é o número mais usado ao falar de especificações. Frequência, não só na computação, é medida em hertz (Hz), uma unidade que significa “qualquer coisa por segundo”. No caso de processadores, são instruções por segundo, então um processador de 2,3GHz realiza 2,3 bilhões de instruções a cada segundo, mas, devido a diferenças de arquitetura e uma variedade de otimizações possíveis, olhar apenas a frequência não é suficiente para afirmar que um processador é mais rápido que outro. Como os consoles atuais utilizam processadores da mesma família (Jaguar), a comparação direta é mais simples.
A versão de PC de Gears of War 4 (XBO/PC) faz um bom trabalho mostrando o impacto de cada opção nos recursos do computador.
No caso do PS4 e do Xbox One, são 8 núcleos rodando na frequência indicada, mas isso é diferente de apenas um núcleo rodando oito vezes mais rápido. Para aproveitar processadores com vários núcleos, é necessário que o software possa distribuir suas tarefas para cada núcleo, cuidando com a gestão de recursos compartilhados entre eles. Aqui vale uma analogia importante: um confeiteiro em uma cozinha faz um bolo em uma hora, mas 60 confeiteiros em uma cozinha não fazem um bolo em um minuto, nem 60 bolos em uma hora. Com 60 cozinhas, no entanto, é possível fazer 60 bolos, e é esse tipo de ganho que processadores multi-núcleos buscam.

As frequências do PS4 Pro (2,1GHz) e do Scorpio (2,3GHz) não são um aumento enorme em relação ao seus antecessores (1,6GHz e 1,75GHz, respectivamente). Isso significa que não devemos esperar enormes ganhos de desempenho — jogos que buscavam rodar a 30fps continuarão fazendo isso. O ganho será notável nos jogos que não conseguiam atingir sua taxa de quadros esperadas por limitações da CPU, que devem rodar com menos dificuldades na taxa ideal.

A GPU, por sua vez, é dedicada para os aspectos gráficos de um jogo. Em alguns casos, ela pode ser responsável por simulações físicas também. O poder da GPU pode impactar tanto resolução quanto desempenho e, em geral, um pode ser sacrificado a favor do outro.
Devido a uma série de fatores, GPUs são muito eficientes para certas operações, e evoluem em um ritmo muito mais rápido que CPUs. Áreas da computação como simulações físicas e redes neurais têm usado cada vez mais GPUs para processamento paralelo. Fonte: MapD
Processamento gráfico é uma tarefa principalmente paralela e, portanto, GPUs contam com milhares de núcleos, cada um capaz de realizar tarefas extremamente específicas que contribuem para a renderização de cada quadro. Esses núcleos são agrupados em compute units (unidades de computação), que são replicados na GPU para aumentar sua capacidade de paralelização. Assim como processadores, GPUs também contam com uma frequência. O resultado final da quantidade de compute units e a frequência são floating point operations per second, ou FLOPS. Esse número nada mais é do que uma multiplicação dos componentes da GPU pela sua frequência.

Em computação, um número em ponto flutuante é qualquer número não inteiro (ou seja, com casas decimais) e lidar com eles é notavelmente mais complicado do que com números inteiros. Esses números são a base do processamento gráfico; por isso são tão prominentes nas comparações entre GPUs. Cada compute unit da AMD conta com 64 shaders, e cada um deles pode executar duas instruções por ciclo (uma adição e multiplicação).

Para encontrar o número de FLOPS de uma GPU, basta multiplicar 64×2×[número de compute units]×[frequência da GPU]. 1 TFLOPS (teraflops) é um trilhão de operações por segundo. Por exemplo, o PS4 Pro tem 36 compute units rodando a 911MHz. 64×2×36×911 = 4197888 MFLOPS (megaflops), ou 4,2 TFLOPS. Já o Scorpio tem 40 compute units a 1172MHz, resultando nos 6 TFLOPS prometidos pela Microsoft.
Os efeitos de partícula de inFamous: Second Son (PS4) foram usados para demonstrar a evolução visual do novo console comparado ao PS3.
A GPU é responsável por gerar elementos gráficos — como partículas, polígonos, texturas e filtros de imagem — e renderizar cada pixel na sua tela. Portanto, o poder bruto da unidade impacta diretamente a qualidade dos elementos visuais e a resolução máxima possível. Vários jogos atuais empregam resolução dinâmica, que faz com que a quantidade de pixels em tela seja reduzida em momentos de alta intensidade gráfica. Isso permite que a taxa de quadros seja mantida, apesar do sacrifício visual momentâneo.

Assim como em CPUs, olhar apenas os números não fornece uma comparação ideal de diferentes hardwares, mas, novamente, os componentes dos consoles atuais são similares o suficiente para isso ser justificável. Como o objetivo do PS4 Pro e do Scorpio é rodar jogos em 4K, o aumento de TFLOPS é um indicador importante para descobrir se isso é possível com o hardware apresentado. O Xbox One e o PS4 originais contavam com 1,3 e 1,8 TFLOPS, respectivamente, que é suficiente para rodar muitos jogos atuais em 1080p, mas, especialmente no Xbox One, vários desenvolvedores optaram por 900p, que condiz com a diferença de poder entre os dois consoles.

O Scorpio e o Pro, por sua vez, atingem 6,0 e 4,2 TFLOPS, respectivamente. Análises de jogos rodando no PS4 Pro já mostram que o console tem dificuldade para atingir a resolução 4K verdadeira (2160p, 4 vezes mais que 1080p), então é comum vermos jogos rodando a 1440p ou 1800p para compensar. O Scorpio, por sua vez, conta com 4,6 vezes mais FLOPS do que o One, que dá margem para quase qualquer jogo da biblioteca original ser atualizado para rodar em 4K, mesmo aqueles que rodam em 900p.
A demonstração de Forza no Scorpio mostra que o novo hardware roda o game em 4K nativo usando apenas cerca de 66% da GPU. O Xbox One utiliza mais de 90% para rodar Forza 6 em 1080p.
O poder bruto do Scorpio parece cumprir a promessa de 4K nativo feita pela Microsoft, mas há outro fator a ser analisado: assim como na discussão sobre TVs 4K, é importante lembrar que resolução sofre de ganhos decadentes. Ou seja, quanto maior uma determinada resolução, mais difícil será perceber o ganho no próximo aumento na quantidade de pixels. Isso foi notável em games desde o começo da era HD: entre 480p, 720p, 1080p, 1440p e 2160p, a diferença de qualidade de imagem fica cada vez menos notável, dependendo então da pessoa, do tamanho da tela e da distância de visualização. Eu consigo notar bem a diferença entre 1080p e 1440p, por exemplo, mas vários amigos dizem achar 720p mais do que suficiente.

Há alternativas para resolução bruta: alguns jogos de PS4 Pro utilizam uma técnica chamada checkerboarding (que é um pouco complicada para explicar aqui), que ajuda a atingir resoluções mais altas usando menos recurso. E, há vários anos, técnicas de anti-aliasing (anti-serrilhamento) buscam tornar as bordas de objetos mais "macias" através de algoritmos que levam em consideração o valor de cada pixel.
Um exemplo extremo dos benefícios de anti-aliasing. À esquerda, a imagem é serrilhada devido à baixa resolução. À direita, a resolução é a mesma, mas as bordas dos objetos são menos gritantes.
Finalmente, a memória tem dois valores importantes: o tamanho e a largura de banda. O primeiro é o que vemos com mais frequência, e define quantos dados podem ser armazenados nela. Quanto maior, menos acessos são necessários ao disco rígido (muito mais lento) para obter dados do jogo. Um bom uso da memória permite, por exemplo, que seja possível recomeçar uma fase sem aguardar um novo carregamento, porque os dados já ficam disponíveis. Adicionalmente, a GPU também depende dela — placas de vídeo de PC possuem sua própria memória, chamada VRAM, enquanto nos consoles o total é compartilhado entre a CPU e a GPU. A quantidade de memória disponível para a GPU afeta a qualidade das texturas que um jogo pode usar.

O Xbox One, o PS4 e o PS4 Pro contam com 8GB de memória cada, das quais 3GB são reservados para o sistema. Efetivamente, jogos podem usar 5GB de memória, que é suficiente para 1080p mas pode ser um problema em resoluções maiores. O Scorpio tem 12GB no total, com 8GB disponível para jogos — isso com certeza será importante para texturas de alta qualidade.

Já a largura de banda define o volume de informações que a CPU e a GPU podem acessar a cada segundo. Esse valor afeta, particularmente, jogos de mundo aberto. Por exemplo, se a GPU demora para obter uma textura da memória, o objeto que depende dela pode aparecer tarde, causando o pop-in (objetos surgindo repentinamente quando o jogador se aproxima deles). PS4, PS4 Pro e Scorpio usam GDDR5, o mesmo tipo de memória rápida usada para VRAM em GPUs de PC, atingindo uma largura de banda acima de 200GB/s. O Xbox One usa DDR3 de apenas 68GB/s, uma memória mais convencional, mas compensa isso em parte usando uma pequena quantidade de SRAM, memória de alta velocidade inclusa diretamente na APU (o Wii U também adota uma solução similar).
As texturas "Ultra" de Watch Dogs 2 em 1440p e 4K exigem quase 2GB a mais de VRAM disponível. Fonte: HardOCP

Informações importantes, mas não absolutas

Vários fatores de videogames são afetados diretamente pela tecnologia acessível aos seus consumidores, porque jogos são feitos para atender a uma determinada faixa de hardware. No entanto, a história nos mostra que hardware mais poderoso nem sempre garante a preferência dos jogadores nem dos desenvolvedores — não há exemplo melhor que o PlayStation 2, mais fraco e mais difícil de desenvolver que seus rivais, mas é o console mais vendido da história e conta com uma gigantesca biblioteca. Já o Wii U mostra que é importante ser ao menos comparável com outros consoles contemporâneos para receber a atenção de third-parties.

O PlayStation 4 Pro e o Xbox Scorpio são sinais fortes de uma nova tendência da indústria: atualizar hardware com mais frequência, sem sacrificar compatibilidade de software. O trabalho de customização de hardware da Microsoft, em particular, é fascinante por si só e resulta em poder suficiente para qualquer jogo atual rodar nele com pouquíssimos sacrifícios. Ainda assim, é consenso entre seguidores da indústria que todo esse poder não vai ajudar a empresa se ela continuar fraca em termos de jogos.

Talvez toda a ênfase colocada no hardware seja equivocada. A Nintendo mostrou repetidas vezes — recentemente, com Breath of the Wild — que é possível criar experiências excelentes e inovadoras em consoles comparativamente humildes. De fato, entre a geração anterior e a atual, são poucos os jogos que aproveitam o poder disponível para algo além dos visuais. Pessoalmente, o PS4 Pro e o Scorpio me fascinam como fã de tecnologia, mas, como fã de jogos, sinto que esse avanço visual é uma parte pequena da evolução da mídia como um todo. Possivelmente, a regra de retornos decadentes se aplica para game design assim como aspectos visuais.

Revisão: Arthur Maia


Escreve para o GameBlast sob a licença Creative Commons BY-SA 3.0. Você pode usar e compartilhar este conteúdo desde que credite o autor e veículo original.
Este texto não representa a opinião do GameBlast. Somos uma comunidade de gamers aberta às visões e experiências de cada autor. Escrevemos sob a licença Creative Commons BY-SA 3.0 - você pode usar e compartilhar este conteúdo desde que credite o autor e veículo original.


Disqus
Facebook
Google