A realidade das performances da Xbox One

Quanto mais jogos são lançados, maior parece ser a diferença de performances entre a Xbox One e a PS4. No entanto o que vemos não parece corresponder à realidade das coisas, e há que que explicar os motivos porque pensamos assim para que se perceba que, no geral, as consolas são mais próximas do que se pensa.

vs

Quando analisamos o hardware da PS4 e da Xbox One constatou-se o seguinte:

 

Componente Xbox One PS4 Diferença
Shader Pipelines 768 1152 +50% para a PS4
Unidades de Texturas 48 72 +50% para a PS4
Compute Units 12 (48 unidades vectoriais, e 12 escalares) 18 (72 unidades vectoriais e 18 escalares) +50% para a PS4
Arithmetic Logic Units (ALUS) 12 22 +83% para a PS4
Asyncronous Compute Engines (ACEs) 2 8 +400% para a Ps4
Raster Back Ends (RB) 4 8 +100% para a PS4
Raster Operators (ROPS) 16 32 +100% para a PS4
Flops 1,31 Tflops 1,84 Tflops +40% para a PS4

 



Há ainda que referir outras diferenças:

Componente Xbox One PS4
Largura de banda teórica 68 GB/s em 8 GB DDR3
204 GB/s em 32 MB/s
176 GB/s GDDR5
Eficiência das memórias 80% na DDR364% na ESRAM 92% na GDDR5
Larguras de banda reais 55 GB/s em 8GB na DDR3
150 GB/s em 32 MB na ESRAM
162 GB/s em 8 GB na GDDR5

 

O que esta comparação permite verificar é bastante conclusivo. A consola da Sony é mais potente, e quanto a isso nada há a acrescentar sobre tudo o que já foi dito anteriormente. (Nota: Os valores de performance das memórias que são indicados são os standards neste tipo de RAMs, sendo que os valores de eficiência e largura de banda reais da Microsoft são os referidos pelos engenheiros da empresa na entrevista dada à Digital Foundry).

Mas na realidade toda esta superioridade não se traduz em muito. Há efectivamente muito ganho nos auxiliares, mas o que acaba por contar é a sua capacidade teórica de cálculo, neste caso no GPU, e que é medida pelos Flops. E o que vemos é que, sendo os dois sistemas uma arquitectura x86 e como tal comparáveis por esta métrica, após o overclock da Xbox, teoricamente a PS4 é apenas 40% superior.

Na prática os 40% irão reflectir-se em bastante mais, e o motivo é que como as tabelas de cima deixam claro, devido à maior capacidade dos auxiliares, a probabilidade de um dos componentes da PS4 saturar o sistema é bastante mais reduzida do que na Xbox One. E quer se queira, quer não, tal reflecte-se na performance geral do sistema e facilidade de se atingir as performances máximas. Por outras palavras, os chamados Bottlenecks estão muito mais reduzidos.

Assim uma estimativa realista e mais adequada ao mundo real é que as performances standard da PS4 variem entre os 40 e os 60% acima do que a Xbox One pode oferecer. E apesar que podemos pontualmente obter valores inferiores e superiores, essas são efectivamente as diferenças de performance mais comuns, daí que normalmente possam ler nos nossos artigos que a PS4 é, em média, 50% mais potente que a Xbox One.

(Note-se que este é um valor que será usado nesta análise, e que não toma em conta reservas da Xbox One, mas apenas a potência bruta do hardware. Qualquer reserva existente na Xbox One, actualmente de apenas 2% após a libertação de 8% dos 10% anteriormente reservados, terá de ser somada a este valor para uma comparação mais correcta.).

E isto não é uma opinião, é um facto. Por muito que não se goste que possamos insistir neste ponto, isto é apenas uma realidade que se manterá para sempre e que, quando muito, poderá alargar com o uso do GPGPU onde as optimizações da PS4 são tremendamente superiores.

Mas 50% mais não são 50% menos

A questão aqui é que parece que a matemática não é o forte de todos e como tal está a gerar-se muita confusão.

É que dizer que a PS4 é 50% mais potente não é dizer que a Xbox One é 50% mais lenta! E esta situação parece estar a fazer confusão em muitas pessoas!

Efectivamente com esta diferença isso implica que se a Xbox One fosse capaz de produzir 100 fps, uma PS4 50% mais potente produziria teoricamente 100*1,5 ou 150.

Mas com esses 150 em mente, se a Xbox One fosse 50% mais lenta, ela só produziria 150*0,5, ou 75 fps.

E isso implicaria que a Xbox One tivesse metade da potência da PS4, o que não é o caso!

Daí que há que perceber a diferença entre uma percentagem a mais, e uma percentagem a menos! São valores enganadores e completamente diferentes. E aqui nunca referimos que a Xbox era 50% menos potente, mas sim que a PS4 era 50% mais potente.

Prejudicada pelos standards

A questão que o que temos vindo a ver não é 50% de diferença, mas sim mais… muito mais. E com isso alguns amantes da PS4 tem vindo a argumentar que as diferenças reais entre as consolas são superiores aos 50%,  mas o facto é que nunca vimos nada que nos demonstrasse claramente que essa realidade estivesse a acontecer.

Daí que com este artigo pretendemos explicar o que se está a passar, e fazer perceber como a Xbox One está, a nosso ver, a ser matematicamente prejudicada pelos standards e que na realidade nada nos comprova que, em situações normais, existam diferenças de performance superiores à média inicialmente estimada de 50%.

Para isso vamos analisar as realidades de alguns jogos, não se podendo deixar de começar por aquele que, até hoje, apresentou as maiores diferenças de performance entre as consolas, Tomb Raider: Definitive Edition

Note-se que as contas que se seguem são extremamente simplistas e não pretendem reflectir a realidade, mas apenas mostrar como certos standards são a causa de certas situações, causando diferenças de performance completamente artificiais.

Tomb Raider, Definitive Edition

tr-definitive

Tomb Raider foi um jogo que mostrou conseguir atingir os 60 fps na PS4, apesar de possuir variações de performance que em certas zonas descem os fps para valores bem abaixo desse valor.

Ora com uma diferença de performances estimada de 50% e sabendo que a PS4 atinge os 60 fps ou mais, então a Xbox poderia atingir os 40 fps ou mais a 1080p. Vamos fazer as contas:

X*1,5=60 => X=40

Ou seja, quando a PS4 corre a 1080p 60 fps, pela nossa avaliação a Xbox One deveria poder correr o jogo a 1080p 40 fps.

E analisando o jogo real vemos que a Xbox ao correr a 1080p efectivamente mantém o seu limite superior imposto de 30 fps bastante bem, comprovando que ela andará perto desses valores aqui calculados. Isto é um facto!

Infelizmente acontece que 40 fps não é um standard da industria, e como tal o que a Eidos fez? Tal como a PS4 foi limitada superiormente a 60 fps apesar de dar mais, a Xbox One foi limitada a 30 fps mesmo dando mais. E 30 fps, esse sim é um valor standard na indústria.

A questão é que isso criou aqui uma diferença de performances artificial e superior à real. A PS4 debita 60 fps e a Xbox One 30 fps, ou seja uma diferença de 100% que não podemos de forma alguma comprovar como sendo correspondente à realidade das performances, mas sim devida a uma imposição dos programadores (e sim, a PS4 também não mostra os seus valores máximos pois também está limitada).

O problema é que a PS4 tem quedas de performance. E desce, por exemplo, até aos 40 fps! E naturalmente a Xbox também teria de perder performances nos mesmos sítios, sendo que nessas alturas desceria abaixo dos 30 fps.

Mas se os programadores não vêem grandes problemas em ter a versão PS4 a 1080p e a 40 fps, um valor superior aos 30 fps que consideram o mínimo indispensável, já vêem problemas em colocar a Xbox One nos cerca de 26 fps (26 vezes 1,5 (+50%) são aproximadamente 40). E para resolver isso, resolveram mudar dinamicamente a resolução para 900p nas zonas onde seria mais previsível que isso acontecesse, de forma a ganhar alguma performance adicional e se manterem acima dos 30.

Ora a diferença entre 900p e 1080p é de apenas 44%, um valor bem enquadrado junto dos 50% médios de diferença de performance. Mas associado ao outro limite de 30 fps, acaba por criar situações onde a PS4 está a 1080p 60 fps e a Xbox One a 900p 30 fps, ou seja uma diferença de 188%.

E como creio se percebe claramente, esta acaba por ser uma diferença de performances completamente artificial e imposta. Na realidade, fossem os FPS desbloqueados, mesmo com a diferença de resoluções a ocorrer, as diferenças de performances seriam certamente muito mais enquadradas entre os referidos 40 a 60%, mas nunca mais.

Ou seja, Tomb Raider é um bom exemplo de como as diferenças de performance acabaram inflacionadas por meras opções de programação. É certo que as versões possuem outras diferenças para além dos FPS o que mostra que a diferença neste jogo em particular deveria ser mais próxima dos 60% do que dos 50 o que levou a esses ajustes, mas seja como for a explicação de cima mostra bem como as decisões de programação se reflectem, e bem, nas diferenças de performance visíveis.

E a conclusão a que chegamos é que nada do que existe neste jogo nos demonstra que na realidade existam mais do que uma média de 50% de diferença de performances tal como as previstas, pois as diferenças visualizadas acabam por ser derivados de opções dos programadores e não das limitações da consola em si.



Vamos ver de seguida outros exemplos mais simplificados que demonstram talvez melhor que um valor próximo dos 50 é efectivamente a realidade.

Assassins Creed 4

BlackFlag

Um outro exemplo que podemos dar é Assassins Creed 4 que corre a 60 fps 1080p na PS4.

Apesar de não sabermos dizer os valores reais entre os quais os FPS oscilam uma vez que ambas as consolas estão limitadas superiormente, e basicamente nem descem dos 60 fps, por uma questão de simplicidade vamos aceitar que a PS4 atinge mínimos iguais ao seu limite superior, isto é, os 60 fps.

E com a sua diferença prevista de performance, aceitando que não haveriam outras limitações aplicáveis,  isso colocaria a Xbox One nos 1080p 40 fps. Ou seja, pelo menos teoricamente, com esta diferença de performances estimada, a Xbox One poderia correr o jogo a 1080p 40 fps.

Infelizmente não podemos saber se o motivo que levou a que a equipa optasse por manter os 60 fps a 900p foram a ideia de que os 60 fps eram imprescindíveis, ou se a equipa encontrou problemas com a dimensão da ESRAM na passagem para os 1080p. Seja como for, ambas as situações dariam uma diferença de perto de 50%, e adequada à realidade que a análise do hardware mostra.

Mas o certo é que 1080p 30 fps foi uma opção colocada de lado. Os programadores não abdicaram dos 60 fps, e como tal a resolução desceu para 900p. A diferença real e média das performances ronda os 44% e é enquadrada nas diferenças de performance que a nossa análise ao hardware permite concluir.

Battlefield 4

bf4

Exactamente a mesma realidade de cima, mas agora a PS4 corre a 900p 60 fps. Dado que os 60 fps eram algo que os programadores não abdicavam a resolução na Xbox One desce forçosamente para 720p, uma diferença média de 56% na performance, e igualmente adequada à realidade derivada da análise ao hardware das consolas.

Caso não existisse a obrigação dos 60 fps parece-nos que a Xbox One poderia correr o jogo a 1080p com uma boa média de perto de 40 fps, mas desceria para perto dos 20 nos momentos de maior stress, algo que a equipa não queria, motivo pelo qual optou por descer a resolução mantendo um frame rate mais constante.

Estes exemplos de cima são aqueles que me parecem mais realistas e que melhor reflectem a realidade da diferença de performances, mas tal como o primeiro caso (Tomb Raider) são igualmente dois exemplos que mostram que as decisões de programação a nível de fotogramas por segundo mínimos foram mais responsáveis pelas diferenças de resolução do que realmente a capacidade da consola em atingir a mesma resolução da PS4, particularmente em Battlefield 4 onde os 900p nunca se revelariam problemáticos para a ESRAM.

O que se parece concluir com estes dois jogos é que se os 60 fps não fossem algo obrigatório, e aceitando não existirem outros factores limitativos, poderíamos ter ambas as consolas à mesma resolução com a PS4 a 60 fps e a Xbox One com algo perto dos 40.

Mas claro, há outros exemplos que mostram claramente outros factores limitativos da Xbox One a intervirem, nomeadamente a dimensão da ESRAM.

Metal Gear Solid V: Ground Zeroes e Call of Duty: Ghosts

MGSGZ-XO

Estes dois jogos são aquilo que, como quem nos acompanha sabe, denomino de aberrações. As diferenças de performance entre as consolas atingem os 125%, e ao contrário do que acontece nos exemplos de cima, o descer da resolução para o patamar imediatamente abaixo não se revelou suficiente.

O resultado é termos a PS4 a 1080p 60 fps e a Xbox One a 720p 60 fps.

Aqui o factor separador parece ser claramente a ESRAM que tem vindo a ser alvo de grandes queixas por parte dos programadores devido à sua pequena dimensão que complica a programação e gera perdas de performance ao obrigar a técnicas de processamento por partes (tiling) para contornar esse problema, tornando-se assim um “bottleneck”. Mas infelizmente, com uma DDR3 tão limitada a nível de largura de banda, o uso desta memória para performances torna-se obrigatório.

Assim a forma mais simples e rápida de se contornar o problema é descer a resolução para 720p garantindo que os 32 MB da ESRAM chegam e sobram para o framebuffer e outras acelerações que se pretendam implementar nessa memória. E isto não é necessáriamente uma questão de preguiça, mas sim de adequação à realidade de motores que demoraram anos a desenvolver, mas que não se adaptam a essa limitação de memória tão pequena.

Por esse motivo tivemos o cuidado de nos exemplos de cima referir sempre que a passagem para os 1080p apenas seria possível caso não houvessem outros factores limitativos. E claro, estávamos a falar da ESRAM e do facto de o framebuffer a 1080p para o jogo em questão caber ou não na mesma sem requerer alterações ao motor.



E essa é uma limitação real da Xbox One, que não corta as suas performances, mas que a impede de as atingir. Ou seja, esta diferença acaba por ser limitada por questões técnicas e não por performances reais.

A questão da ESRAM ser pequena obriga a dividir o trabalho em partes (tiling), aumentado a complexidade do mesmo e reduzindo as performances gerais, o que para motores genéricos que nunca foram pensados para tal se revela um problema e com uma resolução que pode ser difícil ou mesmo impossível. Daí que existe o rumor que a Microsoft planeia automatizar este tipo de trabalho, resolvendo os problemas dos programadores.

Naturalmente nos exclusivos  e com motores pensados de raiz para a consola, a questão dos problemas da ESRAM pode ser resolvida facilmente. Isso desde que o motor seja criado com o contornar das limitações em mente, o que por exemplo não acontece com TitanFall que usa o já antigo, apesar de remodelado, Source Engine, mas já acontece com Forza 5 com um motor 100% pensado para a One.

Seja como for actualmente a Microsoft libertou 8% dos recursos reservados ao Kinect. E tal implica libertar igualmente largura de banda e, teoricamente, igualmente memória reservada. Ou seja, caso estes recursos incorporassem igualmente parte da ESRAM (e isto é algo que não sabemos se acontecia), são 2,56MB que são libertados e que podem fazer toda a diferença no mundo para o futuro. Mas mesmo que apenas haja ganhos na largura de banda reservada e não na ESRAM, o certo é que eles são suficientes para compensar as perdas resultantes da movimentação de dados necessária para a divisão  de trabalho por partes (o tiling), o que poderá significar a resolução de pelo menos parte dos problemas causados pelo limite da ESRAM.

Conclusão:

Aquilo que a análise de hardware nos dá a entender é que as diferenças de performance entre as consolas variam entre os 40 e 60% (50% média). E actualmente, com excepção dos casos pontuais de COD: Ghosts e MGSV: GZ que parecem limitados pela dimensão da ESRAM, como se explica em cima, não vimos nada que nos faça repensar estes valores uma vez que as opções de programação estão a ser a verdadeira e principal causa das falsas diferenças que estamos a ver.

Isso quer dizer que, teoricamente, caso os fotogramas por segundo a uma determinada resolução sejam elevados na PS4, desde que devidamente programada para contornar a limitação da ESRAM, a Xbox One parece poder acompanhar mas com menor número de fotogramas, tal como acontece em Tomb Raider onde ambos os jogos correm a 1080p com 60 fps na PS4 e 30 na Xbox One.

A situação acima referida não acontecerá sempre que o número de fotogramas for menor e nesses casos poderemos ter de ver diferenças de resolução, e sempre que os programadores imponham determinadas situações tais como limites ao número mínimo de fotogramas. E esta situação temo-la igualmente em TR onde a Xbox desce dinamicamente a resolução para os 900p sempre que não consegue manter os seus 30 fps.

Ou seja, até agora nada nos provou que tal avaliação possa estar a revelar-se incorrecta excepto nos casos pontuais já referidos de MGS: GZ e COD: Ghosts onde os motores não se adequaram devidamente à dimensão da ESRAM. Mas como referido, isso é uma questão técnica que pode ter, e esperemos venha a ter, resolução, e uma situação que, apesar de limitadora da performance, nada tem a ver com os limites de potência da consola.

Seja como for o que se pretende aqui demonstrar é que as diferenças de performance que estamos a ver e que chegam a atingir os 100% ou mais, são uma realidade, mas que, por um motivo ou outro, acabam por ser bastante artificiais, e não as podemos de forma alguma tomar como a realidade da diferença de performances. Infelizmente esta situação deverá continuar a existir pois as decisões de programação são uma realidade, e claro, os problemas causados pela ESRAM e ROPS da Xbox One também.

No entanto a Xbox One é uma excelente consola que se recomenda e, pelo menos no que se viu até agora, as diferenças para a PS4 acabam por ser reduzidas o suficiente para que as consolas sejam comparáveis. Agora o certo é que estamos longe do caso onde podemos dizer que por a PS4 ser mais potente a Xbox One é fraca. Isso está longe de ser verdade apesar de ser de alertar que com o uso do GPGPU de forma intensa, o que só deverá acontecer dentro de um ano ou dois,  as diferenças tem tendência a aumentar, particularmente porque a ESRAM se vai revelar muito limitativa nessa altura (o processamento genérico feito no GPU tem de ser forçosamente realizado na memória rápida e não na DDR3).

Mas entretanto, face ao que actualmente existe nos jogos multi-plataforma, se é uma realidade que 1080p é melhor e se nota, mesmo com problemas da ESRAM, 900p e 720p são igualmente HD. E para quem, consciente da realidade da diferença entre as consolas, os franchisings Microsoft são os preferidos não deverá ter de haver problemas com a sua escolha. Afinal as consolas não muito mais do que hardware e especificações técnicas, são jogos e são diversão, e isso é que interessa!

E no que toca a grandes jogos a Xbox One está, e irá certamente continuar a estar, bem servida.É uma grande consola, apoiada por uma grande empresa, e vai continuar a sê-lo.



Posts Relacionados