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

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 , alle 11:31 nel canale Videogames
NVIDIAAMDAssassin'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.

Assassin's Creed Unity

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.

Assassin's Creed Unity

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.

Assassin's Creed Unity

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.

75 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
calabar14 Novembre 2014, 11:49 #1
Originariamente inviato da: Articolo
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.

Diverse 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.
gildo8814 Novembre 2014, 11:55 #2
Praticamente la conferma di quanto già sospettavamo e di cui si è discusso nelle news precedenti.
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.
roccia123414 Novembre 2014, 12:00 #3
Originariamente inviato da: gildo88
Praticamente la conferma di quanto già sospettavamo e di cui si è discusso nelle news precedenti.
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
Saka14 Novembre 2014, 12:02 #4
Su un i5 2500K siamo circa al 50% di utilizzo della cpu con punte del 65%.

Fonte: http://www.game-debate.com/news/?ne...dia%20GTX%20670
floc14 Novembre 2014, 12:31 #5
"Ubisoft non dovrebbe prendersela con i produttori di console o con AMD, ma con sé stessa."

penso che a nessuno fosse passato per la testa di prendersela con amd o nvidia...
al13514 Novembre 2014, 12:31 #6
dal 2 in poi sempre piu 'monnezza. spero sia l'ultimo della seg ehm saga e creino qualcos'altro di piu creativo e tecnicamente meglio realizzato.
Murakami14 Novembre 2014, 12:32 #7
Le API di PS4 non sono le DX11, non ci vanno nemmeno vicino: non si può scrivere una cosa del genere.
htpci14 Novembre 2014, 12:35 #8
fantastico!! prima i cavalli attraversavano i muri adesso i personaggi si perdono i pezzi di faccia, cosa ci aspetta nella prossima avventura della uccisoft???
illidan200014 Novembre 2014, 12:46 #10
è arrivata la "mazzetta" AMD, per pubblicizzare Mantle, screditare Ubisoft, e mettersi sopra delle parti.
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".

La discussione è consultabile anche qui, sul forum.
 
^