Numa tentativa de tentar provar que a PS4 não será efectivamente tão potente como parece, Albert Penello explica as suas razões.
Apesar de os criadores de software continuarem a dizer que a PS4 se revela entre 40 a 50% mais rápida que a Xbox One, a Microsoft continua a referir que tal não é verdade. E isso é algo que só no futuro tiraremos a limpo.
Nesse sentido, Albert Penello teve algumas afirmações comparativas entre as consolas que pretendem dar a entender uma menor diferença da performance entre as consolas. Analisemos as afirmações de Penello e vejamos o que se pode dizer sobre as mesmas:
Note-se que tudo o que diremos será apoiado em dados obtidos de diversas fontes e como tal colocaremos os links para os mesmos. Note-se igualmente que tudo o que é aqui referido já foi explicado em artigos anteriores pelo que para mais informações sobre questões específicas deverão procurar ler os mesmos.
• [PS4’s] 18 CU’s vs. [Xbox One’s] 12 CU’s =/= 50% mais performance. Os processadores Multi-Core tem inerentemente mais ineficiência com mais CUs, pelo que é incorrecto referir que temos 50% mais CPU.
Mas… e há sempre um mas… A Xbox One, tal como a maior parte das placas AMD usa 2 ACEs para gerir os seus CU. A PS4 alterou isso e usa 8! Estes Asynchronous Compute Engines (ACE) são os responsáveis pela gestão dos processadores gráficos, e são responsáveis pela ordem de processamento e alocação de recursos. Quer isso dizer que a placa da PS4 possui mais unidades para optimizar a performance dos seus CU (+400% mais), assim como aceita até 64 comandos de computação, ao passo que a Xbox One apenas aceita 2, mas curiosamente Penello esqueceu-se de contabilizar essa optimização adicional da Sony nesta comparação.
E já nem falo nos ROPS…
• Em cima disso, cada um dos nossos CU’s corre 6% mais rápido. Não é apenas uma aumento da velocidade de relógio de 6%.
A primeira coisa que chama a tenção nesta frase face à anterior é que para Penello 6% mais, é 6% mais, mas 50% mais, não é 50% mais. É no mínimo curioso!
Depois há que ver que efectivamente o GPU subiu 6% as suas performances, e a ESRAM tb teve overclock de 6%. Mas a DDR3 não! Ou seja, o overclock é algo intermédio
E para o demonstrar cito do website PCAdvisor num exemplo de um overclock a uma placa da mesma gama:
… with the Radeon HD 7950, overclocking the GPU had a larger impact on performance than overclocking the memory did. Boosting the GPU frequency by 25 percent resulted in performance increases of 6.96 percent to 8.95 percent in the applications we ran
Traduzindo:
… com a Radeon 7950, um overclock ao GPU teve um maior impacto na performance do que um overclock da memória. Aumentando a frequência do GPU em 25% tivemos uma melhoria de performance desde 6.96% a 8.95% na aplicação executada.
That said, overclocking the GPU and memory simultaneously yielded performance increases much larger than the sum of the two overclocks: With both the GPU and memory overclocked, the Radeon HD 7950’s performance increased by at least 20 percent across our tests.
Traduzindo:
Com isso dito, overclock simultâneo do GPU e da memória deu melhores resultados de performance do que a soma dos dois overclocks (só GPU, e só memória): Com GPU e memória em overclock, a performance da RADEON 7950 subiu pelo menos 20%.
Ou seja, o que se conclui é que um overclock pode dar ganhos de performance em percentagem praticamente igual à da subida da velocidade de relógio, mas para isso é necessário que o overclock seja no GPU e na RAM. No caso da Xbox One a ESRAM teve também esse overclock, mas a DDR3 não! Daí que os 6% de ganho não deverão de forma alguma ser uma realidade e o ganho real deve ser algo pelo meio desse valor.
• Temos mais largura de banda de memória. 176gb/seg é o pico no papel para a GDDR5. O nosso pico no papel é 272gb/sec. (68gb/sec DDR3 + 204gb/sec na ESRAM). A ESRAM pode ainda ler/escrever simultâneamente pelo que vejo este número mal interpretado.
E está… Mal interpretado! Principalmente por Penello.
Somar os 68 GB/s aos 204 GB/s é puro marketing. 68 GB/s é o acesso aos 8 GB de RAM, 204GB/s é o acesso aos 32 MB de ESRAM. São dois BUS diferentes o que é bem notório e claro no esquema da própria Microsoft, apresentado em baixo. Ou seja nenhuma memória pode ser acedida a essa velocidade, sendo que uma (8 GB DDR3) pode ser acedido a 68 GB/s e a outra (32 MB ESRAM) a 204 GB/s, isto apesar de o GPU poder efectivamente receber dados das duas memórias em simultâneo. Mas a realidade é que não há um BUS com 272 GB/s e nem nenhuma memória que forneça dados a essa velocidade.
Mas falemos da ESRAM com uma largura de banda, no papel, mais rápida, e a 204 GB/s, um número sem dúvida superior aos 176 GB/s, mas curiosamente enganador!
Olhem com cuidado para a imagem de baixo e reparem num dado curioso presente no esquema, e que nunca vi em lado nenhum. Uma velocidade mínima para a ESRAM!
O que quer isto dizer? Porque motivo há uma referência a esse valor?
E o que quer dizer é que esse é na realidade o valor que pode ser garantido. Temos então uma velocidade máxima teórica 204 GB/s, nas na qual garantidamente apenas se conseguem 109 GB/s.
E os testes comprovam-no, sendo que os melhores resultados de acesso a esta largura de banda foram obtidos em testes muito específicos e nunca passaram os 140 a 150 GB/s (ver final do artigo caso sigam o link). E sendo assim, a GDDR5 com a sua velocidade real comprovadamente em tudo semelhante à teórica (172 GB/s reais vs 176 GB/s teóricos) ainda está num patamar superior.
Curiosamente ao ler esta afirmação fiquei com a ideia de que Penello parece esquecer-se que a solução da Microsoft foi para compensar a lacuna de velocidades da DDR3. Não foi para tornar esta memória mais rápida que a GDDR5! É um remedeio derivado de uma escolha por uma solução mais barata de memória (a DDR3) e não a re-descoberta da roda. É no entanto, tecnicamente uma solução excelente e se a Microsoft tivesse usado edram em vez de esram, ou se garantisse os 204 GB/s constantes aí sim, poderia ter mais largura de banda.
Mais ainda a ESRAM são apenas 32 Megas… Basicamente uma cache e memória para operações mais críticas.
A Microsoft nos seus documentos oficiais recomenda o uso desta memória para as operações mais críticas e que precisam de maior largura de banda, tais como Shadowmaps, lightmaps, depth targets e render targets. Mas curiosamente Killzone: Shadowfall usa 800 MB só em render targets, o que mostra como esta memória é algo reduzida e bastante limitativa.
• Temos pelo menos 10% mais CPU. E não só um processador mais rápido mas também um audio chip que retira ciclos ao CPU.
Concordo com Penello. Mas só não concordo inteiramente porque se desconhece o processador audio da PS4. Sabe-se que o tem, mas não as suas características. Penello pode ter razão, mas se o tem, então sabe algo mais do que nós sabemos.
Já quanto ao CPU ser 10% mais rápido… É quase um facto! Porque facto, para já, é que é 9,375% mais rápido!
E já agora o processador ARM que faz a captura de vídeo, descarrega jogos em segundo plano e faz tantas outras coisas que libertam o CPU, e que só existe na PS4, não conta?
• Falando do GPGPU – Temos 3X a largura de banda coerente do GPGPU a 30 GB/s o que melhora significativamente a nossa capacidade do CPU ser eficiente e ler os dados do CPU.
Curiosamente… não é bem assim :).
Para começar é engraçado como quando se fala da largura de banda da Xbox One, Penello toma em conta a largura Bi-Direccional de 30 GB/s da Xbox One (vista no esquema superior nas imagens de baixo e relativo à arquitectura Xbox One), mas quando fala da PS4 esquece que os 10 GB/s da PS4 são em cada sentido (visto no antigo esquema inferior de baixo e relativa à PS4, ainda antes do aumento da RAM), totalizando assim 20 GB/s de acesso ao CPU. Mas aqui acredito que houve apenas má interpretação do esquema que não é claro pois o BUS coerente da PS4 é o Onion+ que é descrito lá como “Shares Onion 10GB/s”, mas se tal foi o caso revela uma grande falta de atenção uma vez que Mark Cerny já deu várias entrevistas onde se referiu a este BUS como possuindo 20 GB/s.
Daí que 30 GB não seja 3×20 GB.
Mas mais ainda, como o esquema superior apresentado em baixo deixa ver, os módulos CPU possuem uma largura de banda (que neste caso é partilhada entre os dois módulos) de 20,8 GB/s. Os restantes 9 GB que perfazem os 30GB/s Coerentes são usados para os diversos periféricos, com relevo para o Kinect.
E nesse caso temos que o CPU recebe 20,8 GB/s ~= 20 GB/s. Ou seja a largura de banda coerente para os CPUs é igual em ambos os sistemas. Ai Penello, essa matemática!
Conclusão
Após ler as declarações de Penello a conclusão a que chego é que este fala claramente como funcionário da Microsoft, ou como alguém que não conhece devidamente o sistema da concorrência.
Mais ainda a Microsoft está a olhar para as consolas como PCs, onde 50% de potência adicional se perdem parcialmente na ineficácia do sistema. Mas como as palavras de Richard Duddy da AMD que referi neste artigo dão claramente a entender, as optimizações nas consolas são extremas e toda a performance é espremida. E isso podemos nós ver na Xbox 360 e PS3.
Poderemos não ver grandes diferenças nas consolas no primeiro ano, no segundo ano, e até no terceiro ano. Mas elas vão existir e aumentar com o tempo.
Acredito porém que a Microsoft ainda possui alguns trunfos na manga que deverão fechar esta diferença, mas não é certamente com este tipo de paleio desinformativo que isso vai acontecer.
As melhorias nas performances dos APIs e SDK’s vão variar ao longo do tempo, e a certas alturas as da Microsoft serão melhores e a diferença entre consolas menor, noutras alturas serão piores e a diferença maior. O produto está em constante evolução!
Seja como for, toda esta conversa parece irrelevante uma vez que Penello já não está a negar que a PS4 é superior, apenas a dizer que a diferença poderá não ser tão grande como se pensa. E curiosamente, eu disso não tenho dúvidas… pelo menos nesta fase inicial.