Hardware Upgrade - il sito italiano sulla tecnologia - www.hwupgrade.it
«Torna alla News  -  Stampa
Un po' di codice DirectX 10.1 in Far Cry 2, per le GPU ATI
Paolo Corsini - 23/10/2008, 12:17
"Far Cry implementa compatibilità con le API DirectX 10.1, ufficialmente supportate solo da GPU ATI, ma questo non rappresenta un limite per le architetture NVIDIA"

Far Cry 2 è atteso al debutto in Europa in questo fine settimana; si tratta di uno dei titoli più attesi del 2008, sequel di quel Far Cry che è stato negli scorsi anni un punto di riferimento quanto a potenzialità della grafica 3D oltre che banco di prova delle schede video top di gamma del tempo.

Una delle particolarità di questo gioco, con riferimento all'hardware necessario per utilizzarlo al meglio, è data dal supporto alle API DirectX 10.1, la più recente estensione delle API Microsoft compatibili con sistemi operativi Windows Vista. Queste API sono al momento compatibili con le schede video ATI basate su GPU Radeon HD serie 3000 o superiore.

Le famiglie di GPU NVIDIA dotate di architettura a shader unificati, a partire dalla serie GeForce 8, non supportano le API DirectX 10.1 limitandosi alla sola estensione 10. Ubisoft ha quindi implementato due differenti tecniche di gestione dell'anti aliasing, sfruttando quanto reso disponibile dalle API DirectX 10.1 con le GPU in grado di supportarle. Di seguito è riportata una dichiarazione di Vincent Greco, Worldwide Production Technical Coordinator di Ubisoft:

"The Ubisoft team wanted to enhance the Anti-Aliasing through the reading of the multisampled depth Z-buffers. This feature was enabled by either using DX10.1 or using a DX10.0 extension supported by NVIDIA DirectX 10 GPU's. Since NVIDIA supports this in their hardware, we were pleased to be able to accelerate this feature. In the case of Far Cry 2, either option will work with similar performance.”

L'engine di FarCry 2 esegue letture dal multisampled depth buffer per velocizzare l'applicazione delle tecniche di antialiasing, adottando due strade differenti a seconda del tipo di GPU utilizzata. Per quelle ATI Radeon compatibili la base sono le API DirectX 10.1, mentre per quelle NVIDIA si utilizza  l'implementazione specifica nelle GPU NVIDIA via NVAPI; per queste ultime, quindi, è stato scritto del codice specifico che si interfaccia solo con queste tipologie di GPU.

Vi sono differenze qualitative e prestazionali tra le due implementazioni? Stando a quanto indicato da Ubisoft la risposta è negativa: i due approcci conducono allo stesso risultato qualitativo e soprattutto non sembrano sussistere vantaggi prestazionali in uno o nell'altro.

Aggiornamento: la notizia è stata in parte rivista meglio precisando come Ubisoft abbia implementato differenti tecniche di gestione del multisampled depth buffer nell'engine di Far Cry 2, a seconda del tipo di GPU installato. Un ringraziamento a Stefano per le informazioni a riguardo fornite.