sexta-feira, 7 de agosto de 2009

Physx, CUDA.. eim?




Foi liberado essa semana o demo do novo jogo do Batman, o Batman: Arkham Asylum.
E esse jogo promete... Geralmente os "jogos baseados em filmes" deixam muito a desejar , principalmente nos gráficos e no enredo, sendo muito "lineares".. vá e atire em tudo que aparecer na frente.. Então, vejamos como esse vai se sair!

Download do demo, 2GB.


Uma coisa que chamou atenção nessa noticia que é ele suportará o PhysX e o 3D Vision, mas o que é esse PhysX mesmo?? No que ele melhora nos jogos? Qual o principio básico de funcionamento?? Vejamos a seguir:



O que é?
Physx é uma engine física ou uma "unidade de processamento de física" como diria a Wikipedia, basicamente esse "motor/engine/unidade" diz o que vai acontecer com os objetos quando você interage com eles nos jogos, atirou em algum barril com gasolina? Então ele vai explodir jogando estilhaços por todos os lados, derrubando outros objetos ao redor e é a "engine física" que diz como fazer isso, entre outras coisas.
PS.: existem outras engines :)

Origem
Geralmente o processador do computador é o responsável por processar toda essa física e se esses efeitos fossem muito detalhados acabava sobrecarregando a CPU... Vendo essa realidade uma empresa chamada "Ageia" lançou uma solução que consistia em um software específico e uma placa que fazia esse processamento, livrando mais o processador o que aumentava a performance e os detalhes dos jogos.


Placa dedicada ao processamento da física


Há uns anos atrás a NVidia comporou a Ageia e implantou a tecnologia "Physx" em suas Geforces não sendo mais necessário o uso de uma placa só pra processamento físico (observação mais abaixo*).

Compatibilidade
Physx pode ser habilitado via software para trabalhar usando a CPU ou uma placa de vídeo Geforce a partir da série 8, além de ter um driver que suporte essa tecnoligia o jogo também deverá apresentar essa compatibilidade.
*Já ví usuários na internet que usam 2 placas de vídeo, uma para o processamento gráfico e outra para o físico, é uma solução para quem não pussui duas placas identicas para fazer "sli".
Infelismente as placas AMD/ATI não suportam oficialmente o Physx via hardware por ser uma tecnoligia proprietária.



Como funciona?
A partir da série 8 das placas Gforce, foi possível usar o processador gráfico (GPU) para trabalhar em paralelo com o processador principal (CPU) em aplicações normais e não só processamento gráfico, etc. essa tecnologia se chama CUDA e o programa para rodar utilizando a placa de vídeo precisa ser compilado utilizando o CUDA.

Mas como tudo trata-se de jogos, onde o CUDA entra na história?
Como dito anteriormente, a CPU é quem faz os cálculos da física do jogo, e o Physx se encarrega de usar o CUDA para jogar esse trabalho para a GPU, deixando o processador menos carregado. E isso se deve ao fato de que o processador gráfico possuir um poder de processamento em paralelo (stream processors) bem maior que uma CPU convencional.

Alguns aprimoramentos gráficos são bem visiveis ao ativar o Physx (tomando como exemplo o jogo Mirros Edge, veja um vídeo), como por exemplo vidros que quando quebram os estilaços são bem mais reais, tecidos como cortinas se rasgam, interagem em tempo real com o vento, etc.
A propria Nvidia disponibiliza diversos desmonstrações tecnologicas referentes ao Physx.


Outras aplicações do CUDA
A nvídia também lançou também a tencnologia Tesla, que consiste em placas de vídeo que são utilizadas exclusivamente para trabalhar com o CUDA tanto em computadores pessoais quando em servidores. De acordo com a Nvidia servidores baseados nessa tecnologiasão bem mais eficientes do que servidores que usam "apenas CPUs"

Aprenda mais sobre Tesla/Cuda em:
http://www.clubedohardware.com.br/artigos/1424

Nenhum comentário:

Postar um comentário

Pesquise neste blog: