Tip:
Highlight text to annotate it
X
“Cosa stai combinando?” “Ehi”
“Come procedono le cose?”
“Sto documentando le ottimizzazioni.”
“Oh, fantastico... divertiti!”
RYAN WELLS - PRODUCER “Questa mobilitazione generale sulle prestazioni è decisamente un lavoro collettivo: siamo tutti quanti impegnati su questo tema. "
Senza dubbio, ai tecnici tocca gestire il grosso del lavoro e sostenere la gran parte dell'impatto, ma anche i progettisti, gli artisti, gli animatori e gli addetti audio stanno collaborando.”
“Speriamo di rendere presto operativi gli strumenti più recenti di Scaleform 4.3 per poter tracciare il profilo della batch, definire la struttura e sistemare tutto il materiale che già avevamo.
Questo ci aiuterà a capire esattamente quanti primitivi stiamo tracciando, quante quad sono già state disegnate e i modi migliori per ridurle, così, quando riusciremo a far funzionare la sovrapposizione, avremo un risultato ottimale. Oggi mi concentrerò su questo.”
AMIT PATEL – LEAD ENGINEER IU
“Ciao, mi chiamo Amit Patel e sono il responsabile IU di PlanetSide 2. Quando non sono impegnato a tamponare emergenze o a cercare White Castle, mi trovate qui a ottimizzare.”
“Ci stiamo mangiando tonnellate di costolette, carne alla griglia... e Amit si è preso un hamburger vegetariano.”
Per toccare i 60 FPS (fotogrammi al secondo) bisogna come minimo raggiungere un tempo di processamento di 16,6 millisecondi per fotogramma. Solo parlando dalla IU, abbiamo aggiunto 4 o 5 millisecondi. Nei nostri obiettivi, questi ritardi devono essere ridotti al minimo.”
“Come potete vedere, qui ce la stiamo spassando. Guardate questo fantastico picco: bello, eh?!”
“Zoomiamo per vederlo meglio”.
“Va tutto bene, nessun problema, il BAM indica 8,85 millisecondi, senza motivo. Il fatto è che ogni tanto il nostro sistema si mette in testa di accumulare quantità di dati inutili senza che nessuno gliel'abbia chiesto.”
“Per minimizzare questi valori, riduciamo il numero di oggetti visibili sullo schermo…
“Qui abbiamo la situazione “prima” e, sulla destra, la situazione “dopo”. Il nostro interesse si concentra soprattutto su quest'area in basso a destra dei parametri fondamentali –
(a sinistra) ogni spunta rappresenta una texture diversa, vedete che qui c'è la sua rappresentazione quad, opposta a qualcosa di molto più semplice – a destra, invece, ogni barra completa, e non ogni spunta, rappresenta una texture.”
“Abbiamo notato che, quando abbiamo collisioni di tween, l'array continua a lavorare a vuoto e il risultato sono cifre ridicole come quelle di prima, che spiegano anche l'accumulo improvviso di tutti questi dati inutili e questi picchi di 8-10 millisecondi.”
“Vedete che alcune di queste cifre, per esempio l'indicatore HUD o la minimappa, hanno picchi periodici fino a 1-2 o persino 3 millisecondi... proprio così. "
E questo senza calcolare l'impatto del rendering e i costi avanzati di Scaleform.”
“Quello che ritengo dovremmo fare, se Jamie approva, è usare la coda di processo per gli indicatori della minimappa e dell'HUD e incapsulare ogni indicatore in un oggetto,
"di modo da poterli mettere in coda per visualizzarli e processarli fino a raggiungere il limite dei fotogrammi senza creare picchi direttamente in quei sistemi. "
Ci limiteremmo a redistribuire il processo, e la creazione di un livello di gestione dello stato del fotogrammi non dovrebbe rappresentare un grosso problema. Quindi comincerò a lavorarci insieme a Chris”.
“Il passo successivo sarà occuparci di quei picchi per eliminarli fino a rendere il grafico complessivamente più omogeneo. Per riuscirci, occorre creare un “tetto massimo” per fotogramma per sistema.
Ad esempio, in nessun caso potrò dedicare più di 200 microsecondi al processo del sistema dell'indicatore HUD. Perciò, una volta implementato questo tetto massimo, saremo in grado di evitare i picchi”.
“E dunque che cosa succede adesso... l'abbiamo soffocato per valutare le necessità del client più o meno 3 volte al secondo, 3 o 4 volte,
e per quanto questo ci torni utile dandoci un millisecondo o due, i picchi ogni tanto si ripresentano, mentre noi vogliamo liberarcene completamente.”
“Direi che rispetto al risultato che vogliamo ottenere abbiamo già concluso un buon terzo del lavoro. Questa prima parte ha dato ottimi risultati e siamo davvero soddisfatti di alcuni dei successi raggiunti. "
Abbiamo ancora molti bug da sistemare e altrettanti problemi da risolvere, ma le cose stanno andando per il verso giusto e siamo soddisfatti.
Stiamo ancora effettuando delle valutazioni quantitative dei dati per capire esattamente la portata dei risultati raggiunti, ma le valutazioni iniziali sono molto buone.”