quarta-feira, 3 de dezembro de 2008

O Futuro da PS3

[Guest Post por Mário Armão Ferreira]

O que vale afinal a PS3? Será que já vimos tudo ou o futuro reserva-se risonho?

Como é sabido, para se poder tirar partido da PS3, é necessário saber-se tirar partido da estrutura única da consola e dos SPE's que constituem a arquitectura Cell. Sem os mesmos, desenvolver para a PS3 é practicamente igual a desenvolver para um PC ou MAC com um único core a 3.2 Ghz, mas no entanto para se poder tirar partido do real poder de processamento da PS3 o uso dos SPE's (ou SPUs) é uma obrigatoriedade.

O uso dos SPE's só por si não faz um bom jogo (O pacote ORANGE BOX da VALVE, é um dos muitos titulos desta consola que apenas usa o processador genérico da PS3 sem tirar qualquer partido dos SPE's), mas para cenários complexos os SPE's tem de ser metidos ao barulho.
Actualmente muitos jogos, quer por não usarem os SPE's, quer por o fazerem de forma pouco optimizada encontram-se a usar algo que se estima como sendo cerca de 30% da potência total da consola. Vamos dar uma vista de olhos pelos jogos que reconhecidamente usam os SPE's (ou SPUs), para se ficar com uma ideia do que existe e do que está para vir assim que os mesmos começarem a ser usados convenientemente:

Nota: A tradução é livre e como tal pode perder parte do seu significado.

1) Resistance: Fall of Man

"A animação e o calculo de colisões entre objectos são perfeitos para os SPE's, diz Hastings, um dos programadores"

Fonte: Spectrum online

Estima-se que este jogo use entre 10 a 20% da capacidade total dos SPE's (o jogo usa 5 SPEs, mas Resistance 2 já vai usar os 6 SPEs)


2) Resistance 2

"Sistemas de jogo proprietários estão agora a ser desenvolvidos para os SPE's da PS3, mantendo o processador central como uma espécie de policia de tráfego que organiza o que merece atenção a cada momento. De uma forma simples o jogo está a tirar muito mais partido do potêncial ainda não atingido da consola. Em termos visuais o uso dos SPE's permite mais inimigos no ecrã, uma inteligência artificial mais complexa e uma série de opções extra para os efeitos especiais."

Fonte: Game Informer


3) Ratchet and Clank Future: Tools of Destruction

"Desde sempre estamos a usar os SPU's e essa é a chave de ter um jogo que corre bem e rápido na PS3, mas há uma série de coisas que sabiamos podiam ser ainda melhoradas e que tentamos melhorar com Ratchet. E mesmo com o Ratchet, ainda estamos a ver mais e mais coisas que podemos fazer. É como descascar as camadas de uma cebola."

Fonte: Gamedaily

"Estamos continuamente a melhorar o nosso Insomniac Engine e fizemos muitas melhorias desde o Resistance: Fall of Man. O nosso foco primário de atenção tem sido mover mais e mais processos para os SPU's do CELL. Isto permitiu ter um motor de fisica e efeitos a correr ao quádruplo da velocidade que tinham em Resistance, e com o dobro do framerate, o que pode ser visionado em armas como o Tornado Launcher.

Fonte: The New Zealand Herald

Mike Acton da Insomniac explicou um comentário acerca dos objectivos das "experiências com pre-vertex shaders nos SPU's".

"1. Transferir carga do GPU para os SPU's.

2. Minimizar a complexidade dos vertex shaders do GPU em vez do processo tradicional, isto é em vez de ter cada vez mais GPU vertex Shader e mais complexos iremos editar os dados directamente nos SPU's antes do GPU a receber. Isto vai permitir "disfarçar" vertex shaders complexos como sendo simples shaders na perspectiva do GPU.

3. Executar partes do código completo dos vertex shaders a velocidades diferentes. Um SPU vertex Shader ou pré-vertex shader não tem de correr em simultâneo com o vertex shader do GPU. Pode correr a metade da velocidade ou menos, dependendo do resultado que se pretente.

Ainda estamos a experimentar com diferentes aproximações e formas de fazer isto, mas já tivemos um bom sucesso com animações em que as texturas não eram animadas no GPU, sendo feitas antes e inseridas no GPU de forma a que este pudesse trabalhar as mesmas como se não possuissem animação"

Fonte: Foruns da NeoGAF
Apresentação PDF da Insomniac - Games SPU Shader


4) Motorstorm

"Após o desenvolvimento de Motorstorm, e com ferramentas mais maduras à nossa disposição temos vindo a desenvolver mecanismo de tornar o poder do PPU (processador central) e dos SPU mais acessivel. O Motorstorm só usa entre 15 a 20% do poder dos SPU's e pretendemos conseguir aumentar em pelo menos 5 vezes a eficiencia dos mesmos, o que deverá permitir coisas incríveis.

"Actualmente com o nosso sistema de uso dos SPU's fazemos o seguinte:

i) Motor de fisica Havok.
ii) Determinação da visibilidade dos objectos.
iii) Concatenização de hierarquias.
iv) Object culling e criação de vertex buffers.
v) Actualização de particulas e criação de vertex buffers.
vi) Actualização da dinámica dos veiculos.
vii) Actualização das restrições das suspensões dos veiculos.
viii) Audio (MultiStream).
ix) Descodificação Video."

"Se por render cooperativo se referem aos SPU's auxiliarem o RSX (placa gráfica da PS3), acreditamos que esta aproximação se irá tornar mais e mais comum. Para álem de reduzir as cargas nos vertex shaders do RSX através de culling (determinação do que é visivel e do que se encontra escondido atrás de outros objectos) e pré processamento de vertexes, esta aproximação tambem fornece um mecanismo muito eficiente de introduzir geometria processual.

Historicamente os CPU's forneceram muitas ferramentas para auxiliar o trabalho gráfico. Apesar dessas ferramentas melhorarem a performance não reduzem a carga de processamento dos vertexes.

O aumento da performance fornecido pelo CELL fornece a largura de banda para reduzir significativamente o tempo usado pelo RSX em processar vertices que não contribuem para a cena final. A aproximação favorita é o uso dos SPU's para geram o indice minimo de vertices presentes na cena a partir de dados comprimidos"

Fonte: Beyond3D


5) Formula One Championship Edition

"Nós não usamos o conceito de reservar SPU's para tarefas especificas.Em vez disso utilizamos o conceito de trabalhos prioritários que são utilizados pelos SPU's quando estes se encontram disponíveis.
Usamos os SPUs para os seguintes trabalhos: efeitos audio, sistema de particulas e efeitos, fisica, efeitos de chuva (gotas de água e água projectada), e vários renders de efeitos paralelos. A lógica do jogo é maioritáriamente gerida pelo PPU. Os SPU's são usados para colaborar com cada frame que é gerado pelo jogo. Os SPU's são extremamente versáteis e podem ser usados para acelerar qualquer sistema do jogo."

Os SPU's estão bastante envolvidos na pipeline gráfica e fazem enorme trabalho ao eliminar a ineficiencia antes que algo chegue ao PPE e à RSX.Por exemplo, os SPU's são poderosos o suficiente para descomprimir e verificar cada triangulo [poligono] antes de o entregar à RSX. Os triangulos que não são visiveis pelo jogador, ou aqueles que estão fora do ecrã, podem ser eliminados pelos SPU's, o que reduz tremendamente o trabalho da RSX, deixando a placa fazer o que faz melhor, escrever para o ecrã.

Os SPU's podem ser igualmente usados para aumentar os vertex shaders da RSX, fazendo com que tarefas intensas no uso de vertexes sejam possiveis, o que é extremamente util para animação de personagens. Adicionalmente, os SPU's podem ser usados para implementar comportamentos muito semelhantes aos dos shaders geométricos - F1 CE usa-os desta forma para calcular níveis de detalhe interpolados para alguns elementos da cena. Assim, respondendo à questão se o CELL e a RSX trabalham em conjunto a resposta é um rotundo "SIM", e penso que essa é uma das grandes forças da PS3 que veremos cada vez mais ser explorada.

Fonte: Newsweek


6) Super Stardust HD

"Somos capazes de colocar mais de 10,000 objectos activos com fisicas e colisões e mais de 75,000 particulas simuladas e desenhadas a 60 fps. Isto dito, fomos incapazes de utilizar todo o poder de processamento do Cell para este jogo, e por isso para o proximo temos muito de reserva.

Fonte: IGN


7) Heavenly Sword

"No Heavenly Sword o Cell permite um incrível número de inimigos no ecrã em simultâneo. O truque é que o cell trata regimentos inteiros como uma única unidade de inteligência artificial quando estes estão à distância; Conforme estes se aproximam o cell divide o grupo em grupos cada vez mais pequenos até que estes se tornam tropas individuais com estilos de luta e tácticas únicos.

[...]

A fisica quando se dispara um canhão calcula as influências na trajéctoria da bala. A Nariko pode influenciar esta trajéctoria com o sixaxis.A Ninja Theory afirma que precisa do cell para calcular estas cenas mais complexas."

Fonte: Gamepro

"Pessoalmente adoro os SPU's dado que excederam as nossas expectativas de performance e temos muito com o que brincar"

Fonte: Eurogamer

"Em termos gráficos usamos o SPU como uma forma de processador de objectos. Essencialmente tudo incluindo a produção de comandos para a RSX tem um módulo nos SPU's para ajudar.

[...]

Essencialmente uma personagem com ou sem texturas gasta muito pouco tempo de PPU e virtualmente todo o processo é feito nos SPU's e na RSX. Isto é o que permite as cenas com os exércitos.

Não fazemos calculos de triangulos no SPU, deixamos a RSX fazer isso, no entanto preparamos as cenas nos SPU's para a RSX."

Fonte: Beyond3D forum


8) Killzone 2

"Nesta conversa iremos discutir a nossa aproximação para contornar este desafio e como desenhamos um motor de render que usa multi-sampled anti-aliasing (MSAA). Iremos dar uma descrição em profundidade de cada etapa do nosso pipeline de render em tempo real bem como os ingredientes principais do nosso sistema de luz, pós-processamento e tratamento de dados. Mostraremos como utilizamos os SPU's para o render de um grande numero de primitivas, processamento paralelo da geometria e a computação de luz indirecta. Iremos tambem descrever as optimizações para a luz e a iluminação do nosso algoritmo de sombras para um output rápido e estávem com MSAA"

Fonte: Killzoneunit

"Criamos a nossa própria tecnologia proprietária para gerir o jogo e isto é feito usando as capacidades especificas da PS3. Grandes quantidades de dados podem ser movimentados porque temos uma grande capacidade de armazenamento. Isto permite o nível de detalhe que podem ver no jogo.

Não é um luxo ter um blu-ray, mas antes uma necessidade, pois a compressão só nos leva até certo ponto. Quero dizer, o nível que mostramos na E3 e em Leipzig ocupa quase 2 GB! Depois termos o cell e os SPUs significa que podemos calcular lá toda a fisica, assim como processar a AI. Todo este poder de processamento apenas significa que podemos acrescentar mais detalhe e criar o realismo estilo Hollywood que estamos à procura.

Fonte: GamePro.com

Deferred rendering no Killzone 2
Michal Valient, Guerrilla-Games

A proxima geração de jogos trouxe as altas resoluções, ambientes muito complexos e grandes texturas para a nossa sala de estar. Com todos os restantes aspectos a serem igualmente melhorados, torna-se dificil usar os métodos tradicionais de rendering e desejar obter ambientes ricos, dinâmicos e com extenso uso de luzes dinâmicas. O Deferred rendering, por outro lado, foi tradicionalmente descrito como uma boa técnica para se renderem cenas com muitas luzes dinâmicas, que infelizmente sofre de problemas de fill rate e de falta de anti-alisiang, de modo que poucos jogos que o usem foram publicados

Aqui iremos discutir a nossa aproximação para enfrentar este desafio, e como desenhamos um motor de deferred rendering que usa multi-sampled anti-aliasing (MSAA). Iremos dar uma descrição profunda de como cada etapa individualizada do nosso pipeline de render em tempo real funciona e os principais ingredientes para a nossa iluminação, post-processing e manuseamento de dados. Mostraremos como usamos os SPUs da PS3 para uma renderização rápida de um grande número de primitivas, processamento paralelo da geometria e cumputação das luzes indirectas. Iremos igualmente descrever as nossas optimizações para a iluminação e o nosso algoritmo de sombras paralelo que permite um rápido e estavel output usando MSAA.

---

Sem dúvida Killzone 2 é dos jogos mais esperados da PS3 e o primeiro que irá separar o trigo do joio, ou a PS3 da Xbox 360.



por Mário Armão Ferreira 

Sem comentários:

Enviar um comentário

Related Posts with Thumbnails