Max Payne 3: analisi motore grafico e versione PC

Max Payne 3: analisi motore grafico e versione PC

Max Payne 3 è arrivato anche nella versione PC a inizio giugno, confortando la community PC che aveva avuto una brutta esperienza con Grand Theft Auto IV, basato sempre su motore grafico RAGE. Vediamo come è riuscita Rockstar a ottimizzare la sua tecnologia, come funziona il supporto alle DirectX 11 e quali sono i punti di forza anche in riferimento a fisica ed euphoria.

di Rosario Grasso pubblicato il nel canale Videogames
Grand Theft Auto
 

Tassellazione

Max Payne 3 è ottimizzato anche per sfruttare il path DirectX 11, tassellazione compresa. Si può giocare anche con configurazioni multimonitor e dispone di supporto al 3D stereoscopico tramite Nvidia 3D Vision. In quest'ultimo caso, però, occorre venire a patto con il dettaglio grafico, a meno che non si disponga di un PC in configurazione multi-GPU. Si consiglia, pertando, di ridurre l'occlusione ambientale al preset SSAO e di disattivare l'MSAA.

Max Payne 3 usa la tassellazione delle DirectX 11 per ottenere il migliore compromesso tra livello di dettaglio e uso della memoria, oltre che per ridurre le dimensioni dei contenuti che si trovano sui dischi per l'installazione. A differenza delle altre tecniche per il miglioramento del dettaglio, come normal mapping e parallax mapping, il dettaglio aggiunto tramite tassellazione è reale. Nuovi triangoli, infatti, vengono generati dinamicamente dalla GPU per ogni frame, e per questo si contiene lo spazio impiegato in termini di memoria e di materiale su disco.

La tassellazione ammorbidisce i bordi più netti dei modelli poligonali per dare alle immagini di gioco un aspetto più realistico. In Max Payne 3 si può notare la tecnica di tassellazione solamente sui personaggi e sui veicoli: non è dunque a pieno schermo e non è nettamente evidente, ma a questo ormai i giocatori PC sono abituati. È comunque una tecnica benvoluta perché consente di ottimizzare il processo di rendering delle immagini e di migliorare le prestazioni, senza rinunciare al dettaglio, anzi, seppur leggermente, incrementandolo. Si nota soprattutto sui modelli poligonali dei personaggi e sui volti, in particolare in quello di Max.

Max Payne 3 impiega una tecnica di tassellazione definita Phong Tessellation. Si basa sul Phong shading, tecnica sviluppata da Bui Tuong Phong presso l'Università dello Utah, che si riferisce a una procedura di interpolazione incentrata sull'offuscamento delle superfici.

Phong Tessellation

Normalmente negli spazi interni dei poligoni rimangono artefatti se la superficie dell'oggetto geometrico non è liscia. Usare una rappresentazione di alta qualità della superficie liscia non consente di avere un miglioramento significativo in caso di ombreggiatura dell'oggetto, mentre l'interpolazione e l'illuminazione di tipo Phong forniscono una complessità visiva realistica.

La tassellazione Phong è una versione geometrica dell'interpolazione e l'illuminazione di tipo Phong che si pone due obiettivi principali mentre cerca di rimuovere gli artefatti negli oggetti poligonali: produrre geometrie liscie in modo da evitare gli artefatti, cercando di creare queste geometrie impiegando il minor numero di operazioni possibile. Stiamo parlando, infatti, di una piccola porzione di tutta l'immagine, che chiaramente richiede un ulteriore sforzo a CPU e GPU, che quindi devono essere liberate il più velocemente possibile da questo onere.

Phong Tessellation disabilitata
Phong Tessellation disabilitata
Phong Tessellation abilitata
Phong Tessellation abilitata

Sempre restando nel discorso DirectX 11, il motore grafico di Max Payne 3 usa Compute Shader per offrire effetti di occlusione ambientale di alto livello e con grande precisione oltre che il motion blur. Hull, Tassellazione e Domain Shader garantiscono, invece, la curvatura e la deformazione dei modelli poligonali dei personaggi e dei veicoli. La tecnologia gestisce anche effetti di profondità di campo e di tipo Bokeh, mentre il sistema di 'self-managed resources' delle DirectX 11 consente di ottimizzare l'uso della memoria.

Fin qui la teoria, ma adesso passiamo alla pratica. Abbiamo cercato di catturare le differenze nella qualità delle immagini tra la versione DirectX 11 del gioco con Tassellazione attivata e tra la versione DirectX 11 con Tassellazione disattivata. Poi abbiamo confrontato queste immagini con la versione di Max Payne 3 in DirectX 9 senza Tassellazione e SSAO (ovviamente non possibili con il path DX 9).

Come potete vedere voi stessi, non è possibile notare miglioramenti nella grafica tra i vari casi, se non una leggera ottimizzazione nel caso di bordi poco rifiniti. Tutto questo con immagini statiche, mentre in movimento non è assolutamente possibile avere esperienza delle differenze. Non c'è inoltre nemmeno un vantaggio prestazionale, visto che, su hardware con Intel i5 750, AMD Radeon HD 6950 e 4 GB di RAM, il gioco gira a 60 fps con path DX 9 abilitato e a circa 40 fps di media con path DX 11 abilitato.

 
^