Pular para o conteúdo principal

Teste sugere que o NVIDIA PhysX é programado para não apresentar boa performance em CPU

O fato de a API NVIDIA PhysX funcionar melhor quando está acelerada pela GPU é conhecido há um bom tempo, e, inclusive, este foi um dos motivos que levou a NVIDIA a comprar a tecnologia da Ageia. Entretanto, essa diferença brutal de performance entre Physx rodando em CPU e GPU (em GPU muitas vezes mais rápida) pode ser decorrente de algo previamente concebido pela NVIDIA.

NVIDIA PhysX



O website Real World Technologies promoveu uma análise do funcionamento do NVIDIA PhysX rodando em um processador Intel Core i7 920 operando a uma frequencia de 3.2GHz. Foi usado também o software Intel VTune para verificar a forma como o Physx usa os recursos da CPU.

Os resultados mostram-se, no mínimo, curiosos. Em primeiro lugar, verificou-se que o Physx não usa o recurso Intel Hyper-Threading, mesmo quando uma thread está atingindo mais de 90% de nível de utilização.

Outro aspecto interessante foi a constatação de muitas das DLLs do Physx, incluindo a PhysXCore.dll, só faz uso de instruções x87 no processamento de cálculos em ponto flutuante. A pergunta que fica é: qual o motivo de o Physx preferir usar as instruções x87 ao invés das instruções SSE2, que são muitas vezes mais rápidos nesse tipo de operação?

Na realidade, observou-se que as instruções SSE são usadas pelo NVIDIA Physx em poucas e insignificantes situações de carga de trabalho. No teste Dark Basic PhysX Soft Body Demo, por exemplo, o PhysXCore.dll executou 91% de suas operações de cálculos em ponto flutuante usando instruções x87.

O fato de a NVIDIA não usar as instruções SSE e optar pelas antiquadas e legadas instruções x87 certamente não é decorrência de falta de atualização do código, tendo em vista que o set de instruções SSE2 já estava presente na primeira CPU Intel Pentium 4 de 1.4Ghz de dez anos atrás.

Se a NVIDIA tivesse optado por usar instruções SSE2, a performance do Physx na execução de cálculos em precisão simples dobraria em relação ao observado atualmente. "Não há nenhuma razão técnica para o PhysX estar usando código x87, sobretudo pelo fato de que o Physx para console já usa as extensões AltiVec, que são muito similares às SSE", relata o Real World Technologies em sua análise.

Ainda segundo o site, a adaptação do Physx para passar a usar as instruções SSE2 não levaria mais do que um ou dois dias de trabalho, seguida de poucas semanas de testes de compatibilidade.

O site também considera que o fato de o Physx deliberadamente não usar as instruções SSE2 pode ter razões comerciais, pois, da forma como está programado, ele auxilia a NVIDIA a vender mais GPUs.

Comentários

Postagens mais visitadas deste blog

Teste / Review Notebook Positivo Premium R457P Intel T6600 Chipset SIS

O Notebook Positivo Premium R457 P é equipado com o processador Intel Core 2 Duo T6600 e chipset SIS Mirage 672. O sistema operacional é o Windows 7 Home Premium. O que chama a atenção é o termo "Premium" no nome do notebook: Positivo "Premium". Talvez a Positivo Informática resolveu emprestar uma parte do nome do Windows Home "Premium" no seu notebook. O problema é que o chipset SIS 672 é tão ruim, que nem mesmo uma das funcionalidades "Premium" do Windows 7 funciona nesse notebook: a interface Aero. O acabamento, chamado pomposamente de " Black Piano Perolado ", também está muito longe de qualquer coisa que possa remotamente lembrar o conceito " premium ". As teclas são de plástico pintado em branco com alguns minúsculos pontos brilhantes, para justificar o termo "perolado". O resultado final, porém, não agrada: a tonalidade não é uniforme e o "branco" já vem amarelado mesmo quando novo.

Teste / Análise do Notebook HP Pavilion DV4-1620BR: CPU Intel Pentium e GMA4500

O HP DV4-1620BR é um notebook baseado no processador Intel Pentium Dual Core T4300 e no chipset Intel GM45 , que incorpora o processador gráfico Intel GMA4500 .  O processador  Intel Pentium Dual Core T4300  dispõe de 2 núcleos de processamento (Dual Core), cada um dos quais trabalhando a 2.1Ghz, com um cache L2 de 1MByte e um FSB de 800Mhz. Veja também o nosso teste sobre o Sony Vaio VPC-EE23EB/WI . Em termos de dissipação térmica, o  Intel Pentium Dual Core T4300  apresenta um TDP de 35W. Trata-se de um modelo da família Pentium Dual Core Mobile, sendo de uma categoria inferior aos Intel Core 2 Duo Mobile, como o Intel Core 2 Duo T6600 .

Teste / Análise: Megaware MegaHome DC - Intel Pentium® Dual Core 2.5Ghz

A linha de computadores desktops Megaware Megahome DC Series é composta por PC´s  com configurações modestas, processadores de performance limitada, sistema de vídeo on-board, memórias de baixa performance, capacidade de armazenamento de hard-disk entre 300 e 500Gb e uma fonte de alimentação básica. Um computador com essas características é indicado para tarefas básicas, mas que atendem a maior parte do público consumidor de PC. “Tarefas básicas” significa: acessar a Internet, editar textos, planilhas e apresentações, acessar o Google Earth, Google Maps e redes sociais como Orkut, Facebook, Twitter, etc.