Porque a comparação direta entre um hardware e o de uma consola não pode ser feita de forma leviana

Apesar de a base da arquitetura das consolas, e consequentemente CPUs e GPUs, serem a mesma, a realidade é que o que existe nos dois lados é bem diferente.

Uma situação que não me canso de repetir aqui é que as pessoas quando fazem comparações entre o hardware de uma consola e o hardware de um PC, ignoram realidades que fazem toda a diferença.

Vamos lá a ver: Se eu pegasse Num GPU e num CPU PC, sem qualquer alterações, ou seja de prateleira, e criasse uma consola com eles, a comparação entre esse hardware e o mesmo hardware no PC poderia ser feita. Mas mesmo aí a coisa não seria batatas por batatas e laranjas por laranjas.

O se criar uma consola, mesmo que o hardware fosse standard, há sempre uma alteração radical face ao PC. O facto que estamos ali bloqueados a um hardware que é único!

Isso pode parecer não ter significado… mas na realidade, só esse facto, faz toda a diferença do mundo.



Num exemplo muito terra a terra, imaginem que eu venho aqui ao planeta terra e escolho uma pessoa.

Agora vou clonar essa pessoa, e terei milhares de cópias iguais a essa pessoa. Irei comparar esta situação como uma consola.

Por outro lado, eu venho aqui à terra, e pego em 100 pessoas diferentes. Clono também essas pessoas, mas a realidade é que apesar de ter clones delas, tenho 100 pessoas diferentes. E vamos comparar isto com o PC.

Agora eu chego à minha pessoa (consola), e digo-lhe: Preciso que me vás buscar ali um caixote a esta morada.

A pessoa vai! E todas elas me vão fazer exatamente a mesma coisa, de forma igual, pois todas tem as mesmíssimas capacidades.

Mas se fizer o mesmo o lado das pessoas (PC), a situação vai ser bem diferente.



Primeiro, mesmo que todas vão, elas vão a velocidades diferentes, e com performances diferentes. Mas o pior +e que eu posso dar a ordem e algumas delas não a entenderem porque falam línguas diferentes! Ou então algumas não podem fazer da mesma forma porque a religião não deixa, ou porque tem problemas nas costas.

Basicamente no caso das minhas pessoas (PC), eu terei de ter o cuidado de dar os comandos tendo em conta o menor dos denominadores. E daí para cima os outros poderão fazer melhor, mas só assim garanto que todas fazem.

Esta situação não existe nas consolas. Porque sabemos à partida com o que contar, e todos farão igual!

Mas podemos fazer mais. Se a nossa pessoa (consola) é boa a correr, eu posso-lhe pedir que corra! Mas nas pessoas (PC) como posso fazer isso? Correr todas correm, mas não o fazem todas da mesma forma. Basicamente, mais uma vez terei de ter em conta a realidade de todos. E se alguém não puder correr, porque não tem essa possibilidade, terei de arranjar um método de dar a ordem que seja universal e todos possam cumprir.

O que se passa aqui é que terei de recorrer a algo que se chama de Layers de abstração. Basicamente quando se dá uma ordem, ela tem de ser analisada e transformada em algo universal que todos possam fazer. Uns mais rápido, outros mais lentos, mas todos poderão fazer.



E infelizmente o processamento desse tipo de situações gasta recursos na máquina, o que quer dizer que, retornando ao hardware, mesmo que o PC possua exatamente o mesmo hardware da consola, pelo facto de estar a correr software PC universal, não terá nunca as mesmas performances.

Mas depois há outras situações. Vamos imaginar que a pessoa da consola está numa cadeira de rodas. E a pessoa do PC é um atleta capaz de todas as proezas. Estamos aqui a tentar comparar a consola a um hardware topo de gama!

Ora a pessoa na cadeira de rodas naturalmente que não vai nunca poder competir diretamente com o atleta. Mas… nas descidas… ela é mais rápida! Porque tem rodas!

Ora se os jogos forem concebidos a pensar nas especificidades das consolas, o que normalmente acontece nos jogos First Party, que os otimizam ao máximo para o hardware, a conversão para PC vai exigir um hardware bastante mais capaz para poder fazer a mesma coisa. E isto apenas pelo simples facto de o hardware ser único.

Mas isto não é tudo, pois se já vimos que ter um software optimizado para o hardware, e que ganha com o facto de o hardware ser único, é uma vantagem, temos depois as ferramentas de optimização.



Basicamente as consolas, por serem hardware único, podem ser analisadas ao pormenor , sabendo-se que partes do hardware estão a ser usadas, e em que medida. Nesse sentido acontece aquilo que se chama uma programação hibrida para as consolas. Basicamente, traduzindo isto em miúdos, as consolas saem com settings que não são exatamente nenhum dos settings gráficos existentes para PC. Ou seja, não são low, nem medium, nem high, nem very high, nem ultra. Apesar de, de jogo para jogo, e de criador para criador, podermos ter settings mais altos ou mais baixos face aos máximos do PC, a realidade é que o que temos nas consolas não se equivale exatamente a nenhum dos settings gráficos do PC. E isto porque se a consola não dá mais RT, pode dar mais rasterização, se não dá mais shaders, pode dar mais pixels, etc, etc.

Basicamente o nível de utilização do GPU alcança um nível que não se consegue alcançar num PC, e mais uma vez, isso faz com que o hardware PC necessário para fazer igual, suba.

Mas se até agora vimos uma comparação hardware por hardware (ou seja, o mesmo hardware em ambos os lados), a realidade é que isso não existe. O hardware das consolas, mesmo tendo uma base comum, não é igual ao hardware que encontramos no PC.

A realidade é que desenvolver um GPU para uma consola não passa por pegar em hardware e usa-lo. O hardware é totalmente customizado, e optimizado na sua criação de forma a ter não só melhores performances, como também, e mais importante que o resto, ter melhor rendimento.

O rendimento interno de um GPU faz toda a diferença. Um GPU de 10 Tflops aproveitado a 90% rende 9 Tflops. Mas um de 12 aproveitado a 70% só rende 8,4 Tflops.



Para este rendimento temos de ter um API de baixo nível, e o mais baixo possível, e isso já vimos que só se consegue quando o hardware é único, logo não podemos comparar o API de uma PS5 com o DirectX do PC (A Xbox tem uma versão melhorada). Apesar de ambos se denominarem APIs de baixo nível, na realidade estão em patamares completamente diferentes. E desde que devidamente utilizado, o API da PS5 consegue que se obtenham resultados fantásticos.

A questão depois é que um API de baixo nível é mais afastado da linguagem humana, e isso implica que a facilidade de uso cai, pelo que o domínio deste API requer prática com a consola.

Mas o rendimento não vem só do API. Vem também das alterações ao hardware.

Pegando nas alterações mais conhecidas da PS5, vamos ver o que foi implementado para melhorar a eficiência da consola.

Ausencia de Check-In



Quando os dados são lidos de um media de armazenamento, os dados não se encontram diretamente usáveis. Basicamente os dados são lidos para a RAM onde são trabalhados de forma a se tornarem utilizáveis. Uma vez utilizáveis, os mesmos são movidos para os endereços de RAM finais, onde aí sim, estão em condições de serem usados.

Este tratamento engloba, entre outras coisas, descompressão de dados, que terá de ser feita ou pelo CPU ou pelo GPU. No caso de ser pelo GPU é mais rápido, mas isso não evita que os dados uma vez descomprimidos tenham de dar entrada na RAM, já descomprimidas, gastando uma largura de banda superior ao que aconteceria se entrassem comprimidos.

A questão é que na PS5, os dados entram na RAM prontos a serem usados. Isto quer dizer que o SSD na prática pode ser utilizado como se fosse RAM. Uma RAM com menor velocidade, mas mesmo assim RAM pois os dados entram na memoria Viva sem necessitarem de tratamento, descompressão ou uso de largura de banda, e prontos a usar, poupando-se assim processamento, salvando-se largura de banda, uso de RAM, e poupando-se ciclos de relógio que podem ser usados em outra coisa.

Descompressão por hardware

Como Linus da Linus Tech descobriu à força, nem um Threadryper de 64 núcleos consegue descomprimir um fluxo de 5 GB/s comprimido nas taxas que o Kraken oferece, sem prejudicar tremendamente a sua performance. A PS5 faz isso graças a um descompressor hardware.



O PC resolveu mais recentemente esse problema com o uso do Direct Storage, mas a realidade é que mesmo assim há utilização de recursos. Gasta-se largura de banda, RAM do GPU, e recursos do GPU. A situação é quase imperceptível em sistemas melhores, mas não deixa de ser uma realidade que entre 0 e qualquer outra coisa a diferença é sempre uma realidade.

Cache Scrubbers

Os cache Scrubbers são algo que pura e simplesmente não existe no PC.

O que fazem os Cache Scrubbers?

Bem, numa máquina normal o que acontece é que as caches são cheias para o processamento, e o seu conteúdo só é trocado quando o processamento da integra do seu conteúdo está realizado. Isto acontece devido a que a limpeza das caches é um processo penoso a nível de ciclos de relógio, pelo que se evita ao máximo mexer nas mesmas.



O problema surge quando acontece o que se chama de um cache miss. Se os dados que foram enviados para a cache, contando serem usados, não se confirmarem, e for necessário outro dado não presente, o que acontece mais vezes do que se desejaria, há a necessidade de se proceder à troca do conteúdo da cache, pagando-se a penalização em ciclos de relógio para este processo (que podem variar entre os 800 a 1000 ciclos se for necessário recorrer à RAM. Se for apenas à cache L2 a coisa pode rondar os 100 ciclos.). Se tivermos em conta que podem ocorrer largos milhares de cache misses por segundo, percebem que esta situação penaliza tremendamente a performance do GPU, cujo rendimento efetivo cai face aos Tflops anunciados.

A ideia dos cache Scrubbers é resolver esse problema. Basicamente eles permitem aceder à cache a qualquer altura, e trocar os dados que já foram processados por novos.  Isto impede a necessidade de se trocar todo o conteúdo da cache, podendo-se trocar apenas o necessário.  Segundo um estudo académico que publiquei aqui em 2020, os cache Scrubbers podem reduzir o impacto dos cache misses em 50%, aumentado tremendamente a eficiência interna do GPU.

Conclusões

Resumidamente, um GPU de consola não só usa um software que lhe tira mais rendimento, como vê código optimizado para as suas especificidades, e tem ainda melhorias internas que lhe melhoram a eficiência.

Ignorar isto e fazer comparações diretas ao hardware PC é tapar o sol com uma peneira. A coisa não é bem assim, seja no GPU, seja no CPU, o rendimento das consolas é mais alto.



Isto torna as consolas melhores que o PC? Não! Há sempre forma de se adquirir hardware PC mais capaz e melhor que uma consola. E isso é inegável! Agora o que se pretende aqui deixar percebido não é que as consolas são melhores que o PC. É que o hardware das consolas bate acima da sua cintura, obtendo performances que superam o que o hardware equivalente de PC faz. E é por isso que hardware mais potente se revela necessário para fazer o que estas fazem.

Agora, o rendimento da consola vai depender de quem a usa, e do domínio que essa pessoa ou equipa possuem sobre o hardware, sendo que muitas vezes, muitas equipas, se limitam a converter os seus jogos de PC para a consola usando a versão de alto Nível do API da PS5, e ignorando as especificidades do seu hardware para optimização, com resultados maus na consola. E consequentemente que, da mesma forma que, num caso podemos ver a PS5 a ser batida por um GPU modesto, outros casos há onde GPUs bem melhores não fazem grande diferença.

 

 

 





Subscreva
Notify of
guest
9 Comentários
Antigos
Recentes
Inline Feedbacks
Ver todos os comentários
KillBoxOneDelta
KillBoxOneDelta
9 de Março de 2025 9:40

Acho curioso você nao falar que a GPU do PS5 Pro esta sendo subutilizada por aquele Ryzen 2 a 3.8Ghz com 8 MB de L3.

Troquemos ela por um Ryzen 5 9600 que tem 6 núcleos e não 8, pra vermos a mágica acontecer. 5.4Ghz e 32 MB de L3. Os 50% de vantagem virariam 70% ou mais.

Nada gargala mais uma GPU que um CPU que não a acompanha.

Seus quase 600 GB/s de banda de memória já estão otimos.

Mas sei porque fizeram isso. Por facilidade com compatibilidades.

Last edited 10 horas atrás by KillBoxOneDelta
Deto
Deto
Responder a  KillBoxOneDelta
9 de Março de 2025 13:13

Nem com quase todos os jogos tendo modo 60fps com resolução inferior, logo sendo GPU “garagalo”, nem a realidade, faz os caras pararem com esse papo de “cpu gargalo”

Principalmente, nem um artigo dizendo o que o PS5 tem de diferente do PC para diminuir o uso da CPU serve para encerrar esse papo de “cpu gargalo”

Deixa eu adivinhar, uns anos atrás vc estaria aqui falando de “clock variável” e como na verdade o PS5 é “9TF” assim como hoje fala do tal “CPU gargalo” que não tem base nenhuma em realidade, apenas no “eu quero acreditar”

Vinte anos do mesmo papo… em 2008 vc estaria aqui escrevendo como “blu ray é ruim para jogos” e que “tem que gravar várias vezes no disco o mesmo dado pq o BR é lento” o “gargalo do blu ray no PS3” LOL

Last edited 6 horas atrás by Deto
Sparrow81
Sparrow81
Responder a  Mário Armão Ferreira
9 de Março de 2025 13:50

Deixa os jogos novos falarem, Mário. Quando se precisar de uma 4080 ou mais pra bater a pro em todos os jogos ele vem com a narrativa que determinado jogo está mal otimizado no PC. É SEMPRE A MESMISSÍMA ENCHEÇÃO DE SACO!

KillBoxOneDelta
KillBoxOneDelta
Responder a  Mário Armão Ferreira
9 de Março de 2025 15:58

Uma CPU de Q4 de 2024 contra uma de Q2 de 2019.
Vamos Mário. Não tá difícil aceitar que é verdade que o Pro renderia mais.

Carlos Pereira
Carlos Pereira
9 de Março de 2025 12:57

Mais um excelente artigo Mário, que explica o que muitos defensores de um PC para jogos não querem entender quando dizem que basta a placa tal para ser equivalente a determinada consola. Mas depois percebem que só a placa custa 2/3 x mais para fazer igual comparativamente a uma consola. Quando corre pior num PC é falta de optimização e quando é o contrário o PC é melhor, 2 versões diferentes para justificar o investimento.

error: Conteúdo protegido
9
0
Queríamos ouvir a tua opinião. Comenta!x