O que é nVidia PhysX?

Postado por McLeary
fev 06 2010

physx-logo

Depois de conversar com algumas pessoas sobre o PhysX, decidi fazer um post falando um pouco sobre a tecnologia PhysX da nVidia a fim de esclarecer algumas dúvidas sobre o assunto.

cloth-physxFalando de maneira sucinta, o PhysX é um motor de física de tempo real. Isto quer dizer que com o SDK do PhysX é possível desenvolver aplicações capazes de realizar cálculos físicos complexos em tempo real (mais de 30 fps). Com isso, jogos podem processar física complexa de maneira muito rápida, o que permite um maior realismo nas cenas. Uma das mais impressionantes características do PhysX na minha opinião é sem dúvida o suporte a tecidos interativos. Um jogo que ficou famoso por usar o PhysX é o Mirror’s Edge (foto ao lado). Na foto é possível ver uma cena dentro do jogo onde você está correndo por um andaime e um helicóptero começa a atirar, quando ele acerta o tecido ele se rasga onde foi atingido. A espera para o lançamento do jogo para PC valeu a pena. Sem o suporte ao PhysX, o tecido do andaime simplesmente não estaria ali.

Outro jogo interessante que tem suporte ao PhysX (pode-se dizer que o jogo não funciona sem o PhysX) é o Trine. Neste jogo a física é muito bem usada no momento da resolução de quebra-cabeças. O Mago pode criar caixas que são usadas para travar mecanismos. Quando uma caixa é criada em cima de uma engrenagem, dependendo do jeito que ela caísse, a engrenagem parava e você pode prosseguir.

Origem do PhysX

O PhysX foi originalmente desenvolvido pela Ageia com o nome de NovodeX SDK. A Ageia foi uma companhia que entrou no mercado de gráficos 3D com ideias fantásticas sobre trazer a física para os jogos de computadores. Os engenheiros da Ageia sabiam que a física permitiria uma experiência visual muito mais real. A lider no mercado de gráficos até então, nVidia, virou seus olhos para o que a Ageia estava fazendo e decidiu comprar a empresa pela bagatela de 30 milhões de dólares (física também dá dinheiro). A incorporação dos PPU (physics processing units – unidades de processamento de física) nas placas gráficas da série GeForce foi o grande responsável pela disseminação dessa tecnologia. Antes de ser comprada a Ageia fabricava suas próprias PPU’s (foto abaixo). Note que a PPU não possuia nenhuma saída. Ela funcionava como um processador auxiliar, que livraria a CPU de boa parte dos cálculos pesados deixando isso para um processador dedicado.

Após ter sido comprada, a API da Ageia começou a se transformar no que hoje é conhecido como CUDA. Todas as placas gráficas da nVidia a partir da série 8 possuem suporte nativo ao PhysX. Hoje em dia, os processadores CUDA podem ser usados para uso geral, o que tem provocado muitas surpresas nas áreas de processamento paralelo, mas sua arquitetura privilegia cálculos de física. O que começou como um processador dedicado a física, hoje pode ser usado levar aplicações ao seu máximo desempenho. A PPU da foto acima hoje é um processador altamente paralelo e com tremendo poder computacional (foto abaixo). Estamos na era dos supercomputadores pessoais.

Para mais informações sobre CUDA leia o post NVIDIA CUDA – Unidades Gráficas de Propósito Geral.

Fonte: shinvision

Pézinho pra frente :

Pézinho pra trás :

17 Comentários

  • Às 12/02/2010 16:14, eder disse:

    É o capimlokura disseminando o conhecimento para a humanidade. Muito bom.

    • Às 12/02/2010 19:56, McLeary disse:

      Grande Eder, o sabio. Se agente dissemina eu não sei, mas agente tenta.

    • Às 01/03/2010 11:46, Higor disse:

      Ah, então quer dizer q McLeary é o grande Fales?!
      Legal o blog, vou favoritar!
      Abraço!

      • Às 01/03/2010 13:59, McLeary disse:

        Sou eu mesmo meu caro. Valeu pelo apoio.

      • [...] Uma das desvantagens do uso do SLI é que ele somente funcionava com um monitor. Então, das várias saídas de vídeo que um PC com SLI teria, somente uma estaria habilitada. Versões mais recentes do SLI permite o uso de vários monitores, mais detalhes podem ser encontrados aqui. As versões mais recentes também permitem o uso do SLI em conjunto com o Phyx, (para mais detalhes sobre o Physx confira o post O que é nVidia Physx). [...]

        • Às 06/03/2010 23:40, Welington disse:

          Show de bola o blog!
          Tudo muito bem escrito, informativo e ṕrincipalmente: interssante!
          Abraço.

          • [...] nos jogos. Simulações físicas que fazem uso do PhysX (para mais sobre o PhysX, ver “O que é NVIDIA PhysX?“), estão muito mais rápidas e os desenvolvedores podem usar as caracteristicas da [...]

            • [...] da programação de GPU’s. Fazem parte desses SDK’s o PhysX (para mais detalhes leia O que é NVIDIA PhysX), o SceniX, que é uma engine de gerenciamento de cenas e o CompleX que tem por objetivo fazer uso [...]

              • Às 07/11/2010 12:32, Gabriel disse:

                Cara eu tenho uma dúvida sobre o NVIDIA PhysX, eu tenho uma placa de vídeo Radeon HD 4350, e faz um tempinho já que, do nada, apareceu esse NVIDIA PhysX instalado no meu PC, tipo ele funciona mesmo sem ter uma placa própria da NVidia?

                Vlw!!

                • Às 07/11/2010 19:58, McLeary disse:

                  O PhysX é uma engine física que é implementada em hardware pelas placas da nvidia. Mas no seu caso o que ocorre é as instruções de física que o programa (jogo) que esteja rodando são executadas pela CPU mesmo. Até onde eu sei a ATI não implementa o PhysX diretamente nas suas placas (o que não faria sentido).

                  Eu tive um problema desse quando eu instalei o Trine no meu notebook. Ele tinha uma placa ATI e não funcionava pq faltava o PhysX. Ai vc instala o software e o jogo funciona, mas a CPU fica sobrecarregada.

                  Mas funciona sim.

                  • Às 07/11/2010 23:34, Gabriel disse:

                    Obrigado,, eu tava super na dúvida se desisntalava ou não agora eu sei que da pra dexa :)

                • Às 20/09/2011 12:09, Aldo Grisi disse:

                  Parabéns ,gostei da explicação …comprei uma GTX 580 e uma NVIDIA Tesla C1060 substituir minha placa de vídeo antiga 4870×2 com 2GB…acho que fiz a coisa certa…meus reder agradecem…heheheh .Abrcs

                  • Às 20/09/2011 13:16, McLeary disse:

                    Aldo, com certeza você fez. Apesar que, se você está usando suas placas exclusivamente para render, eu recomendaria uma Quadro, que são placas voltadas para esse tipo de aplicação. A Tesla é uma placa voltada para pra processamento estilo GPGPU, apesar de dar conta do render muito bem. Não sei exatamente qual o valor em reais de cada placa, mas sei que são bem parecidos.

                    http://www.nvidia.com.br/object/quadro-fermi-home-br.html

                  • Às 20/09/2011 15:15, Aldo Grisi disse:

                    Muito obrigado por responder querido,fiquei feliz.

                    Trabalho com TV e Cinema a 25 anos.sou vitima ao mesmo tempo que sou cúmplice da tecnologia.
                    A 3 anos projetei e montei um super PC nos USA, para edição e computação gráfica 3D, quad i7 2.8, placa de vídeo de 2GB-DDR5 PCI Express 2.0, 6 Terabyte de HD em RAID 5 e gravador BLU-RAY com monitor de 30”Full HDTV. Com 12GB de memoria RAM Triple Channel DDR3 1800MHz. Asus Rampage II Extreme Motherboard – Intel X58, LGA 1366, ATX, Audio, PCI Express 2.0, CrossFire Ready, SLI Ready, Dual Gigabit LAN, S/PDIF, Firewire, USB 2.0, Serial ATA.
                    Comprei estas 2 placas por que achei de baixo custo as 2 por 2.000,00 dolar quis dar uns anos a mais de vida minha maquina antiga.

                    • Às 15/02/2012 15:27, Junior disse:

                      Boa tarde McLeary, a minha dúvida á a seguinte, eu tenho uma Nvidia geforce gtx 560 ti, somente ela. Teria como eu ativar o PhysX somente com uma placa de video? E se o desempenho ficaria bom? Obrigado!!!!

                      • Às 15/02/2012 17:01, McLeary disse:

                        Olá Junior, a resposta para a sua pergunta é sim, você pode ativar o PhysX somente com uma placa. Se não me engano, este é o comportamento padrão de quando você instala o driver. O desempenho vai depender da aplicação que você estiver executando. O jogo Batman Arkhan City, por exemplo, quando habilitado para o máximo de gráficos, recomanda uma placa dedicada ao PhysX. Para verificar se o seu PhysX está habilitado vá em Painel de Controle/Painel de Controle da NVIDIA e, no lado esquerdo, vá em Definir a configuração SLI e PhysX. Nessa tela você terá informações sobre o PhysX.

                        • Às 16/02/2012 00:36, Junior disse:

                          Poxa valws mesmo McLeary, te agradeço de montão mesmo. Só não consegui visualizar se o meu PhysX está funcionando, pois segui as suas instruções, e somente aparece no meu painel aqui, só da pra escolher “Definir a configuração PhysX”, e selecionei a minha placa de video. Tem alguma ideia do que pode vir a ser McLeary? Obrigado novamente meu caro, continua assim, seu site esta otimo!!!!

                      (obrigatório)
                      (obrigatório, não será publicado)