Uncharted 4 – O poder da nova geração já hoje.

O trailer de Uncharted 4 deixou muitos de boca aberta. Não só pela qualidade do que viam, mas por se saber que o que viam era calculado em tempo real, a 1080p… e a 60 frames por segundo. Como é que uma PS4 consegue atingir tais resultados?

Uncharted 4 - 1

Desde à muito tempo que tenho vindo a referir que é impressionante a forma como os PCs são sub-explorados a nível de aproveitamento. A Playstation 3 e a Xbox 360 são hardware com 8 anos e que a nível de potência foram à muito ultrapassadas pelos PCs. No entanto nelas vemos jogos como Halo 4 ou The Last of Us, ou mesmo Grand Theft Auto 5 que seriam impensáveis de se fazer em PCs com potência equivalente à dessas consolas.

Os motivos, e já os referi, são vários:

O primeiro motivo, e algo que se alterará brevemente com o aparecimento do DirectX 12, é o facto de as consolas utilizarem APIs de baixo nível, optimizados ao extremo para o seu hardware e que permitem espremer todo o rendimento possível, reduzindo ou mesmo eliminando todas as ineficiências do mesmo.



Mas estes APIs vão mais longe do que o DirectX 12 nos PCs vai oferecer. Não só a optimização para um hardware genérico, como acontecerá nos PCs, nunca pode ser tão optimizada como nos casos onde temos um hardware fixo como o das consolas, mas estaa constância do hardware permite situações onde se pode aceder directamente ao processamento interno do hardware, interagindo a um nível muito próximo da driver e autorizando interferir com a forma como internamente o GPU processa, optimizando-o para os resultados pretendidos. Esse é um dos motivos pelos quais a versão do DirectX 12 da Xbox One acaba por ser diferente e mais optimizada que a versão PC.

Claro que esta situação de optimização extrema só é possível de ser rentabilizada perante a existência de equipas de programação dedicadas. É o caso dos estúdios internos como a 343 Industries da Microsoft ou a Naughty Dog da Sony que desenvolvem exclusivamente para o hardware das respectivas consolas. Tudo o que criam e experimentam é direccionado à optimização daquele hardware específico, e tal permite resultados muito superiores aos obtidos por estúdios “Third-Party” que usam código genérico para multi-plataforma , e motores igualmente criados para se adaptarem ao diverso hardware, não estando assim verdadeiramente optimizado para nenhum.

Nesse aspecto a Naughty Dog é um estúdio que se destaca. Não só é provavelmente o estúdio que reúne os maiores talentos da indústria, como é um estúdio que trabalha directamente com a equipa que cria o API gráfico da Playstation 4 (a Team Ice). Isso quer dizer que pode ter optimizações no API à medida das suas necessidades, algo que mais nenhuma equipa actualmente se pode dar ao luxo de dizer que possui.

Uma terceira diferença das consolas face aos PCs é a forma como, devido à sua performance ser limitada, algo que nos PCs se supera facilmente ao subir os requisitos mínimo, existe a necessidade extrema não só de optimizar, como de usar as características todas do hardware.

Ora as novas consolas possuem uma característica que actualmente é usada pontualmente em um ou outro jogo, mas que nunca foi explorada ao máximo: a capacidade de processamento genérico do seu processador gráfico ou GPU, e conhecida como GPGPU.

As capacidades do GPGPU são extraordinárias! Não só ele é mais rápido que o CPU, como é igualmente várias vezes mais potente do que este, e muito importante, é capaz de processar esses dados sem prejudicar a componente gráfica que ocorre completamente em paralelo, sem que no entanto possa substituir o CPU na sua tarefa.

Nesse sentido a Playstation 4 não só possui 50% mais pipelines capazes de processar grafismo e comandos GPGPU do que a consola da Microsoft, como 4 dessas pipelines estão optimizadas para performances extremas do GPGPU, possuindo duas unidades lógicas aritméticas (as ALUs), em vez de apenas uma.

Mas mais ainda, a PS4 herda a capacidade de ordenamento e optimização de cálculo da nova tecnologia Vulcanic Islands da AMD que equipa as R9-290, ao possuir, tal como essas placas, um total de 8 unidades ACE em vez das tradicionais 2 unidades que equipam as restantes placas da AMD, e consequentemente a Xbox One.

O resultado de tudo isto implica não só a PS4 tenha uma capacidade de cálculo no GPGPU de 1,84 Tflops contra 1,31 Tflops da Xbox One, mas que haja igualmente optimizações superiores na consola da Sony que lhe permitem minorar as ineficiências e como tal atingir mais facilmente e sem perdas, a sua potência máxima teórica.

Resumidamente o que até agora se tentou passar foram três coisas:

1º – Comparativamente aos PCs as consolas são melhor aproveitadas e exploradas, sendo que devido à gigantesca quantidade de combinações possíveis de hardware com limitações das mais diversas, os PCs são sub-aproveitados e  nunca vimos as reais capacidades dos mesmos. O GPGPU, uma capacidade à muito existente nos PCs é para estes um extra que pode ser obtido de forma alternativa – subindo os requisitos. Já nas consolas isso não pode acontecer e o GPGPU será explorado de uma forma muito mais intensa, sendo que estas vão ser pioneiras nesse campo que lhes permitirá superar o que já foi visto até hoje nos PCs.

2º- As consolas, e em especial a PS4, possuem optimizações internas no próprio hardware que se destinam a garantir que a sua potência fica efectivamente disponível sem bottlenecks do hardware que impeçam a mesma de ser usada.

 – A Naughty Dog é talvez a empresa em todo o mundo dos videojogos que mais capacidade técnica possui, sendo gabada inclusive pela Microsoft. É igualmente privilegiada ao trabalhar com a ICE team directamente, e sendo exclusiva da Playstation 4, usará certamente características da consola que empresas que estão mais habituadas a trabalhar com motores genéricos ainda não exploraram.

Ora após estas considerações, proponho um pequeno exercício.

Eis a pergunta:

QUE MEGA E PODEROSO PC É NECESSÁRIO PARA REALIZAR A CENA QUE VAMOS VER DE SEGUIDA A CORRER EM TEMPO REAL A 30 FPS?

Ryse 1 -1



Na realidade nenhum PC alguma vez gerou a imagem de cima. O que vemos é uma imagem calculada nativamente a 1600*900 e re-escalada para 1920*1080, vinda do jogo Ryse: Son of Rome da Xbox One.

Ou seja, é algo gerado por um sistema com 1.31 Tflops de capacidade de calculo no GPU, e que está longe de mostrar a real capacidade da consola da Microsoft!

Os motivos? Bem, o jogo não foi pensado inicialmente para a Xbox One, mas sim para a Xbox 360, não foi desenvolvido por nenhum estúdio dedicado ou “first party”, mas sim por uma empresa “third party”, a Crytek.

Ora apesar dos méritos que todos reconhecemos à Crytek, o seu motor Cryengine 3 nunca foi criado a pensar nas características específicas da consola, é um motor genérico, e apesar de ter sofrido alterações para a Xbox One foi exactamente isso que teve, alterações e optimizações pontuais, mas não uma concepção direccionada.

A nível de GPGPU o uso existe, mas face a todo o potencial da consola é reduzido e longe de tirar completo partido daquilo que ela pode oferecer, e é questionável até que ponto, na fase em que foi desenvolvido, se a equipa teve acesso ao API de baixo nível da consola.

Ora agora vamos imaginar algumas alterações às condições de desenvolvimento, e imaginar o que poderia sair daqui.

Primeiro mudemos para uma consola capaz de gerar 1,84 Tflops e não 1.31 Tflops.

Depois vamos garantir o motor é pensado, alterado e optimizado de raiz para a consola e que ele é criado por uma equipa dedicada e “First Party”. E vamos ainda melhorar isto ao dizer que essa equipa é provavelmente uma das melhores que estão no mercado, a Naughty Dog, e que melhor que ninguém pode explorar toda a potência da consola.

Vamos igualmente aceitar que esta equipa vai tirar, pela primeira vez, real partido das capacidades do GPGPU da consola e de todas as optimizações do hardware para o mesmo.

E aceitemos também que o jogo passará a tirar partido garantido do API de baixo nível, que até é desenvolvido em simultâneo com o jogo.

Surpreenderia que o resultado fosse este?



Só para comparação, vamos por as fotos encostadas para se perceber que o salto existe, mas que na realidade ele não foge ao que a primeira imagem mostra poder ser possível com todas as alterações às condições de desenvolvimento anteriormente referidas:

Vamos agora ver o que Ryse nos oferece a nível de cenários:

Ryse 1 -2

Ora aplicando as mesmas considerações de cima surpreenderia que os resultados já surpreendentes de Ryse  pudessem passar a isto?

Uncharted 4 - 2

Sou sincero que fiquei abismado com a qualidade do que foi visto no trailer de Uncharted 4. Mas mais surpreendido fiquei quando vi The Last of Us na Playstation 3. Face ao hardware presente e com 8 anos provavelmente surpreendeu-me mais o resultado da Playstation 3 do que Uncharted 4 na Playstation 4, que face ao que já tinha visto em Ryse: Son of Rome e tendo em conta tudo o que é aqui referido, não me surpreendeu que pudesse ser atingido.

A grande surpresa para mim, mais do que saber que se poderia obter estes gráficos (Alguém se lembra de Dark Sorcerer?), foi o saber que está a 1080p 60 fps. E isso sim, face ao mundo 3D em questão, surpreendeu-me.

A conclusão a tirar-se daqui é que isto sim é a nova geração. Ryse: Son of Rome foi apenas uma amostra, e nenhuma das duas consolas mostrou ainda o seu real potencial. Mas se acham que Uncharted 4 é um portento gráfico, esperem por outro jogo com o mesmo motor, mas a 30 fps.

Nota importante: Ao longo do tempo tem sido possível perceber-se que há pessoas que ou não lêem os textos correctamente, ou para a quais a mensagem que se pretende passar falhou. O facto é que incorrectamente atribuem uma interpretação errada ao que é dito.

Nesse sentido esclarece-se desde já que de forma alguma se teve acesso a Uncharted 4 ou que se pode garantir que o jogo em questão mantêm exactamente a mesma qualidade visual quando dentro do jogo. O que este artigo pretende referir é que caso tal aconteça a situação acaba, pelo exposto em cima, por ser compreensível. No entanto é impossível avaliar exactamente os ganhos que poderão existir efectivamente. No entanto sabemos perfeitamente que a qualidade de um motor é importante. GTA IV era sub HD e de qualidade inferior a GTA V, e para a melhoria bastou trocar-se de motor. Os argumentos de cima são por isso válidos e justificativos, mas não comprovativos, não devendo por isso ser tomados como uma garantia de nada ou como verdades absolutas.



Posts Relacionados