PhysX a marce ridotte con la CPU, Nvidia bara?

Un'analisi mette in luce come l'uso di istruzioni x87 per gestire il middleware PhysX con la CPU sia una scelta discutibile. Le istruzioni SSE migliorerebbero le prestazioni. Perché Nvidia ha fatto questa scelta?

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Un'analisi realizzata dal sito Real World Technologies pone alcuni interrogativi sulla gestione delle API fisiche PhysX da parte della CPU. David Kanter ha scoperto che disabilitando l'accelerazione della fisica via GPU e facendo gestire i calcoli PhysX dalla CPU (la maggior parte delle volte in single thread), la maggioranza del codice è eseguita usando operazioni matematiche x87 floating point anziché SSE.

Nvidia nelle presentazioni parla di prestazioni da 2 a 4 volte superiori con PhysX gestito dalla GPU rispetto alla CPU, ma con un'adeguata programmazione la differenza potrebbe essere nulla o meno marcata. Ovviamente questa analisi è puramente accademica poiché non ci sarebbe alcun motivo di disabilitare il supporto hardware nei giochi compatibili con PhysX.

"L'uso di x87 è stato sconsigliato da diversi anni, con Intel e AMD che raccomandano l'uso delle molto più veloci istruzioni SSE da circa 5 anni. Sulle CPU moderne il codice che usa istruzioni SSE può facilmente lavorare 1,5 - 2 volte più rapidamente rispetto a codice simile che usa istruzioni x87. Usando x87, PhysX ha prestazioni ridotte sui processori e questo chiama in causa i reali benefici di far lavorare PhysX sulla GPU".

Secondo Kanter non ci sono ragioni tecniche per non usare le istruzioni SSE su PC. Per quanto riguarda le console, i layer PhysX lavorano usando istruzioni AltiVec PowerPC che sono simili alle SSE. Kanter afferma inoltre che le SSE potrebbero anche semplificare lo sviluppo.

Emerge quindi che la gestione di PhysX da parte della CPU potrebbe essere migliore e Nvidia ha (forse) fatto una scelta sbagliata. I più maliziosi potrebbero invece pensare a una decisione presa per far apparire il divario tra CPU e GPU più marcato di quello che è. 

PhysX è una di quelle tecnologie su cui Nvidia fa maggiore campagna marketing per far apparire le GPU (le proprie) sempre più importanti delle CPU. Da mesi vediamo un accesso confronto sul tema tra Nvidia e Intel.

Abbiamo chiesto un commento a Nvidia, attendiamo risposta in merito.