Ecco perché Assassin's Creed Unity va così male con hardware AMD (ma anche NVIDIA)

Secondo una fonte che ha riferito a Hot Hardware, il motore grafico di Assassin's Creed Unity realizzerebbe un numero troppo alto di draw call.
di Rosario Grasso pubblicata il 14 Novembre 2014, alle 11:31 nel canale VideogamesNVIDIAAMDAssassin's Creed
Ci risiamo, dopo le polemiche per Watch Dogs, un altro gioco Ubisoft, segnatamente Assassin's Creed Unity, va male sul PC. Non che le prestazioni su console siano eccellenti, ma Ubisoft dà ancora una volta la sensazione di aver fatto il porting in maniera approssimativa, senza sfruttare pienamente le caratteristiche di calcolo avanzate offerte dai più recenti hardware PC.
Questa sensazione sembra essere confermata da Hot Hardware, che sostiene di avere appreso i dettagli sui malfunzionamenti da una "fonte con informazioni sull'argomento", che però ha voluto rimanere anonima. Secondo questa fonte Ubisoft non dovrebbe prendersela con i produttori di console o con AMD, ma con sé stessa.
Secondo le informazioni divulgate da questa fonte, il problema principale con Assassin's Creed Unity dipende dal fatto che il gioco arriva a realizzare decine di migliaia di draw call contemporaneamente, fino a 50 mila in certi casi. Questo dipende dalla complessità visiva di certi scorci della Parigi della Rivoluzione francese teatro delle vicende del nuovo capitolo di Assassin's Creed. Non solo la città è modellata con grande precisione, ma decine di personaggi non giocanti popolano le piazze più trafficate.
Nel gergo tecnico, le draw call corrispondono alle chiamate fatte dal motore grafico al sistema video. Storicamente sono uno dei maggiori colli di bottiglia nell'elaborazione grafica, perché se in numero troppo basso condizionano la densità poligonale e il numero di oggetti visualizzati contemporaneamente all'interno degli scenari di gioco. Il motore grafico, così come la CPU, devono operare in modo da massimizzare il numero di draw call come abbiamo visto anche nel caso di Mantle nell'articolo su Civilization Beyond Earth pubblicato ieri.
Mantle e le nuove DirectX 12 sono strutturati proprio al fine di massimizzare il numero di draw call al sistema video, ma le DirectX 11, anche le 11.2, ovvero le API che attualmente sono alla base del funzionamento delle due console, non sono progettate per gestire un numero così alto di draw call. Si tratta di un limite alla base delle vecchie API e, in queste condizioni, aumentare il numero di core della CPU semplicemente non può essere d'aiuto.
Dunque, si tratterebbe di un porting fatto male, perlomeno per questa versione iniziale di Assassin's Creed Unity. Il gioco considera l'hardware AMD come se fosse quello di una console e non tiene conto dell'esistenza di Mantle. La CPU Jaguar che si trova all'interno di Xbox One e PS4 vanta basse latenze all'accesso all'hardware, che in parte dovrebbero sopperire alla mancanza di una struttura simile a quella di Mantle e delle DX 12, ma bisogna considerare che queste CPU sono decisamente meno performanti rispetto alle CPU che oggi si trovano nei più recenti PC.
Jaguar, infatti, riesce a eseguire solamente due istruzioni per ciclo di clock, mentre un moderno processore basato su architettura Haxwell, a parità di frequenza di clock, è in grado di erogare prestazioni superiori di circa il 30/50%. Considerando le effettive frequenze di clock e il numero di core adibiti all'elaborazione della grafica, una CPU moderna può arrivare a essere dalle 3 alle 5 volte più performante rispetto alla sua controparte console.
Come mostra anche la slide di AMD che riproponiamo in questa pagina, storicamente gli sviluppatori di videogiochi DX11 hanno cercato di contenere il più possibile le draw call. Ci sono alcuni sviluppatori audaci che hanno esagerato, ma solo con un sistema come Mantle alla base si possono aumentare drasticamente le draw call.
Un limite che in parte si può superare con l'accesso diretto all'hardware di basso livello, come avviene nel caso delle due console. Ma un PC ben corazzato può sopperire a questa lacuna, appunto se il porting viene fatto con cognizione di causa e se l'hardware viene considerato come qualcosa di più evoluto rispetto al vecchio hardware DX 11 e se si prende in considerazione l'esistenza di sistemi come Mantle.
Le console, soprattutto Xbox One, miglioreranno da questo punto di vista quando saranno rilasciate le API DirectX 12. Ma al momento Microsoft non ha indicato alcuna data per la disponibilità delle nuove API.
Se questa spiegazione corrisponde a realtà allora le difficoltà con Assassin's Creed Unity sarebbero tali anche per quei sistemi dotati di hardware NVIDIA. Allora perché Ubisoft ha pubblicato quella dichiarazione che si riferisce esplicitamente ad AMD? Ubisoft e NVIDIA hanno sottoscritto una partnership pluriennale che consente agli utenti di schede video Geforce di godere di effetti visivi esclusivi, come HBAO, TXAA, PCSS, e altri. Per cui, sembra scontato che NVIDIA riceva un trattamento di favore in casi come questi.
Ubisoft ha cambiato team di sviluppo di riferimento per Assassin's Creed proprio a partire da Unity, passando da quello storico di Montreal al team di Quebec. In pochissimo tempo ha portato a 400 gli impiegati di quest'ultimo, che ha dovuto fare le cose in fretta e furia per garantire il solito rilascio a cadenza annuale. Da una parte, quindi, si tratta di accordi commerciali volti a favorire questo o quel produttore di hardware, e considerate anche che curiosamente Unity va meglio su Xbox One che su PS4, e dall'altra di problematiche tecniche che non si possono risolvere in tempistiche così contingentate.
Per concludere, alla luce del fatto che Unity presenta una serie di bug e di glitch anche su console, Ubisoft ha aperto un live blog attraverso il quale ragguaglierà gli utenti su tutti i difetti rilevati e sui progressi nel superamento di tali problematiche. Da parte nostra stiamo scaricando Assassin's Creed Unity per PC proprio in questo momento, per cui vi aggiorneremo presto con le nostre impressioni dirette.
66 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoDiverse cose qui non mi tornano:
- Se è un problema delle consolle, perchè allora si parla di cattivo porting?
- Le consolle usano API proprietarie, non le DX11.x. Difatti Mantle è ispirato proprio alle API delle consolle, che sono più "close to metal".
- Il problema delle Draw Call quindi è esclusivamente su PC, perchè le DirectX 11.x hanno problemi in questo senso.
Quindi su PC il problema sarebbe aggirabile con Mantle su Hardware AMD (ma il fatto che il gioco sia in collaborazione con Nvidia mi fa pensare che questa soluzione non verrà adottata) oppure si dovranno attendere le DX12, a meno che i programmatori Ubisoft non riescano a ridurre in qualche modo il numero di Draw Call senza ridurre la qualità della ricostruzione grafica.
Con un pò di lavoro in più si poteva ottimizzare meglio, ma questi hanno fatto uscire ben 2 AC quest'anno e la media è di uno all'anno, quindi è irragionevole pensare che riescano a fare buoni titoli o quantomeno stabili, ottimizzati e privi di bug in questo breve lasso di tempo.
Qualcuno di voi che ha avuto la sfortuna di provare questo titolo o che ne sa qualcosa, potrebbe dirmi quanto vengano usati i core delle cpu multicore come l'i5, l'i7 o le controparti amd FX83xx? Ho il sospetto che non vengano utilizzate affatto o che vengano usate solo parzialmente.
Con un pò di lavoro in più si poteva ottimizzare meglio, ma questi hanno fatto uscire ben 2 AC quest'anno e la media è di uno all'anno, quindi è irragionevole pensare che riescano a fare buoni titoli o quantomeno stabili, ottimizzati e privi di bug in questo breve lasso di tempo.
Qualcuno di voi che ha avuto la sfortuna di provare questo titolo o che ne sa qualcosa, potrebbe dirmi quanto vengano usati i core delle cpu multicore come l'i5, l'i7 o le controparti amd FX83xx? Ho il sospetto che non vengano utilizzate affatto o che vengano usate solo parzialmente.
No no, i core vengono usati eccome... ma c'è una certa disparità ingiustificabile tra amd ed intel
http://www.bitsandchips.it/forum/vi...93&start=20
Fonte: http://www.game-debate.com/news/?ne...dia%20GTX%20670
penso che a nessuno fosse passato per la testa di prendersela con amd o nvidia...
bisogna capire a che livello è arrivata, chi si è fatto corrompere a sto giro?
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".