''PhysX maakt gebruik van verouderde x87-instructies''

nVidia heeft altijd geheimzinnig gedaan over het grote verschil in PhysX-benchmarkscores tussen een systeem met en zonder nVidia-gpu. Volgens nVidia is een gpu nu eenmaal veel beter in staat PhysX-berekeningen uit te voeren dan een cpu.

Deze bewering krijgt nu een staartje...

Real World Technologies heeft uitgeplozen waarom PhysX-berekeningen op een cpu zo slecht presteren, in vergelijking met diezelfde berekeningen op een gpu. De oorzaak zorgt voor beroering: nVidia's gpu's zijn minder magisch dan gedacht, want de slechte prestaties op een cpu komen door het gebruik van een verouderde instructieset. nVidia's PhysX-driver maakt namelijk veelvuldig gebruik van x87-instructies, die jaren geleden al uit de mode raakten en vervangen werden door de sse-instructieset.

Eigenlijk is de x87-instructieset al rond het tijdperk van de Pentium 3 uit de gratie geraakt. De sse-instructieset (die inmiddels ook alweer aan zijn vierde versie toe is) is in vrijwel alle gevallen aanzienlijk sneller. Een andere opvallende conclusie die Real World Technologies trekt, is dat nVidia in zijn PhysX-drivers maar één cpu-kern aanspreekt. Op een dual- of quadcoresysteem zijn de prestaties hierdoor veel lager dan theoretisch mogelijk.

Interessant is dat nVidia ook PhysX-drivers voor consoles heeft gebouwd. Deze maken wél gebruik van sse en multithreading. Real World Technologies beschuldigt nVidia er daarom van de drivers opzettelijk niet te hebben geoptimaliseerd, zodat grafische kaarten met PhysX er in vergelijkende tests veel beter uit komen. Collega-site Semiaccurate onderschrijft de bevindingen van Real World Technologies en claimt zelfs dat cpu-berekeningen met een geoptimaliseerde PhysX-driver in veel gevallen sneller zijn dan dezelfde berekeningen op een gpu.

nVidia weerlegt de aantijdingen en beweert dat ontwikkelaars zouden moeten zorgen voor multithreaded code. Wel zegt het bedrijf dat het hard werkt aan PhysX v3 en dat deze versie sse ondersteunt. Ook zou multithreading straks standaard door de driver worden ingeschakeld. Verder geeft nVidia nog het nonargument dat het van x87-instructies gebruikmaakt om compatibiliteitsredenen; een rare bewering, aangezien er maar weinig gamers zijn die PhysX op een Pentium I of II zouden willen draaien.

Deel dit artikel
Voeg toe aan favorieten