Il problema è legato a come sono fatte le architetture delle schede di espansione per PC: sono dei dispositivi per SCRIVERE dati, più che per leggerli.
C'è sempre il vecchio problema che affligge le schede video (ma non solo): inviare dati per effettuare trasformazioni in hardware è semplice, un po' meno riavere i dati indietro per manipolarli di nuovo (il caso della fisica), perché la banda è ottimizzata per l'output. Non a caso le schede NVIDIA hanno le API CUDA che sono una cosa differente da quelle usate per il 3D o Physix e che funzionano in modalità esclusiva, evitando i problemi di bus (non sono compatibili con tutte le schede, però).
Il problema di Physix sulle NVIDIA è che ovviamente ti mangia della capacità di calcolo per il resto della grafica 3D, visto che usa le stesse unità elaborative e che, ovviamente fare streaming della fisica alla GPU e rileggerla indietro penalizza ulteriormente la capacità di elaborazione per il 3D. Inoltre non è che puoi sempre paralellizzare nei sistemi fisici: se sono sistemi in dipendenza reciproca devi per forza di cose serializzare i dati, perché hai i feedback da considerare, mentre nel 3D classico tutto è un corpo rigido e puoi "spacchettare" un sistema complesso in sotto-sistemi che poi "assembli" con le opportune trasformazioni.
Per quello in molti giochi è possibile avere performance più alte usando i driver "generici" che usano un'ottimizzazione per le CPU: magari quella è idle mentre la GPU lavora a bestia e non è che le simulazioni fiische con le linearizzazioni e le semplificazioni possibili siano paragonabili al calcolo delle scene 3D, quindi una CPU anche poco potente riesce a pareggiare le performance.
In molti casi le API Physix spostano il collo di bottiglia altrove, peggiorando la situazione.