LaPhysics Processing Unit oPPU, è unmicroprocessore dedicato per la gestione delcalcolo dellafisica degli oggetti virtuali, specialmente per quanto riguarda i calcoli di fisica presenti nelmotore grafico di unvideogioco.
È quindi un'enorme rivoluzione, soprattutto nel campo dellagrafica tridimensionale, in quanto tutti imovimenti degli oggetti, ladinamica deifluidi, lasimulazione del movimento di capelli e abiti, la distruzione di oggetti e tutto quello che riguarda il tridimensionale non viene più elaborato dallaCPU del computer, ma dalprocessore della scheda,ottimizzato per quel tipo di calcoli.
Alla CPU viene quindi tolta una determinata mole di lavoro, rendendo disponibile tale potenza risparmiata per l'impiego in altre operazioni, tra cui la gestione delsistema operativo, delmotore di gioco, dell'intelligenza artificiale ecc.
Il primomicroprocessore ad essere pubblicizzato comePPU prendeva il nome diPhysX e fu introdotto sul mercato dall'azienda chiamataAgeia. Ciò avveniva tra la fine del2005 e l'inizio del2006, periodo in cui fu messa in commercio la prima scheda discreta con il microprocessorePPU al posto delGPU. Tale scheda, nella sua prima generazione, aveva le seguenti caratteristiche:
Ivideogiochi che intendevano avvantaggiarsi dell'accelerazione offerta dallaPPUPhysX dovevano usare il kitNovodeX SDK fornito daAgeia stessa. A supportare i prodottiPhysX furono 2 aziende già note per la produzione di schede video:ASUS eBFG Technologies. Oltre alla vendita di schede nel canaleretail vennero messi in vendita (in particolare daDell eAlienware) anche deiPC con la schedaPhysX già installata.
Ageia è stata acquistata danVidia il 4 febbraio2008, la quale ha l'intenzione di sfruttare il motorePhysX tramiteCUDA e la sua tecnologia per l'utilizzo della GPU per la gestione dei calcoli fisici presenti neivideogiochi.[1]
Qualunque scheda grafica GeForce con supportoCUDA 2.0 (ovvero tutte le schede della serie 8/9/100/200/400 dotate almeno di 32 Cuda Cores e di 256MB di memoria video) può utilizzare PhysX con i prodotti supportati senza il bisogno di installare una scheda aggiuntiva.nVidia ha comunque continuato a supportare le soluzioni su scheda grafica esterna precedentemente elaborate daAgeia fino alla release 8.xx.xxxx dell'nVidia PhysX System Software.
A partire dai driver ForceWare 186.xxnVidia ha deciso di disattivare il supporto a PhysX quando nel sistema è presente unaGPU di un produttore diverso (ad esempioAMD). Fonti interne a nVidia hanno reso noto che la decisione è stata resa necessaria a causa dei costi di sviluppo, per poter garantire uno standard qualitativo maggiore oltre che per motivi di business. Questa decisione ha visto la community di appassionati giungere alla creazione di una patch perWindows 7, che disabilita il controllo del produttore della GPU presente nei driver ForceWare.nVidia ha inoltre aggiunto unabomba ad orologeria nelle versioni 196.xx e 197.xx che rallenta le prestazioni con PhysX attivo e inverte le leggi di gravità nelle applicazioni, causando effetti di fisica sballati; anche questi, rimossi dalla community di appassionati con una successiva patch.
Con l'avvento dei driver ForceWare 257.15, si era inizialmente constatato che nVidia avesse rimosso queste restrizioni; ma in seguito l'azienda ha comunicato su un suo blog che si trattava di unbug dei driver e che la possibilità di utilizzare PhysX con una schedaATI sarà nuovamente eliminata nella versioneWHQL dei prossimi driver ForceWare.
Le modalità di funzionamento dinVidiaPhysX sono 3:
I seguenti giochi supportanonVidia PhysX:[2]
AMD ha invece siglato[5] il 12 giugno2008 una partnership con Havok, sussidiaria diIntel, che produce ilmiddleware Havok.
L'SDKHavok è il maggior contendente del PhysX SDK. Usato in più di 150 giochi, inclusi titoli di grande successo qualiHalf-Life 2,Alan Wake,BioShock 2 eFallout 3.[6]
Per competere conPhysXPPU, venne commercializzata una versione delmiddleware nota comeHavok FX che si avvantaggiava del supporto alle tecnologie Multi-GPU qualiCrossFire (perATI) eSLI (pernVidia usando le scheda video già installate nel sistema per accelerare l'esecuzione dei calcoli di fisica).
Le soluzioni offerte daHavok dividono la simulazione della fisica ineffetti di fisica e infisica che influisce sul gameplay, con glieffetti di fisica che sono inviati (ove possibile) alla GPU tramite istruzioni per lo Shader Model 3.0 mentre lafisica che influisce sul gameplay viene normalmente processata dallaCPU. L'importante differenza tra i due è che glieffetti di fisica non influiscono sul gameplay (polvere o piccoli detriti generati da un'esplosione, ad esempio). La maggior parte dei calcoli di fisica, ad ogni modo, è effettuata via software; questo approccio è totalmente differente da quello utilizzato nell'SDKPhysX, il quale invia tutti i calcoli di fisica alla scheda grafica esterna (se presente).
A partire dall'acquisizione di Havok operata daIntel,Havok FX sembra essere stato accantonato e in seguito cancellato.
Si è molto speculato riguardo alle possibilità che la futura architettura grafica diIntel, chiamataLarrabee possa ben prestarsi al ruolo diPPU; essa è come il processoreCell, situata a metà tra laCPU e la GPU nel campo delgeneral purpose.Intel ha confermato che l'architettura di Larrabee non utilizzerà memoria con funzionalitàscratchpad, e sarà pertanto più vicina alle convenzionali gerarchie di cache presenti sulleCPU. Essa, ad ogni modo, avrà delle estensioni che renderanno possibile l'abilitazione all'esecuzione di tante istruzioni con unoutput di dati piuttosto basso (come avviene, in pratica sulleCPU).