Ehi gente!

È arrivato il momento per nuovo aggiornamento sul Gen 12, poiché molte cose emozionanti sono accadute dietro le quinte e abbiamo sentito molte voci dalla comunità sui recenti miglioramenti alle performance.

Sono fiero di annunciarvi che abbiamo raggiunto il nostro primo grande traguardo con il Gen 12 nella 3.17!

Questo significa che tutte le geometrie statiche opache, ovvero i nostri template e tutti gli oggetti sparsi sui pianeti+asteroidi1, ora funzionano tramite il Gen 12. Questo raddoppia le performance del RenderThread (RT) per questo tipo di oggetti.

Prima che la notizia vi mandi su di giri, restate calmi perché attualmente questo non porterà alcun miglioramento del framerate. Le nostre misurazioni interne hanno evidenziato come raramente il collo di bottiglia sia l’uso della CPU del RenderThread. Questo significa che un RenderThread più veloce non avrà impatto sul framerate. Tuttavia il Gen 12 renderà sostanzialmente impossibile l’essere limitati dal RenderThread, e questo porterà ogni singolo miglioramento di performance del MainThread (MT) a migliorare direttamente il framerate. E ciò molti di voi l’hanno già notato nella nostra ultima patch PTU 3.17.

I miglioramenti alle performance che state vedendo arrivano da Christopher Bolte, il quale ha fatto diversi miglioramenti importanti al Sistema Entity Centric (ECUS), Zone Host Updates e molti altri elementi che migliorano le prestazioni del MT.

Altri aggiornamenti sul Gen 12:

  • Internamente tutti i Renderproxie come navi, personaggi e pianeti sono stati già passati nella pipeline del Gen 12. Non arriveranno per la 3.17, ma saranno pronti per la 3.18.
    • Ho sentito che molte navi su schermo tendono a pesare sul RT, quindi creare dei grossi raduni di navi dovrebbero impattare meno sulle performance (apprezzerei se qualcuno volesse testare questa cosa nella 3.18!).
  • Stiamo per attivare il Gen 12 anche per le Cubemaps+RTT, cosa che ci permetterà di eliminare un sacco di codice vecchio.
  • Un importante lavoro sulle geometrie trasparenti è iniziato. Questo è l’ultimo grande traguardo che dobbiamo concludere. Non sarà probabilmente pronto per la 3.18, ma speriamo per la 3.19. Nel peggiore dei casi, non credo che andremo oltre la 3.20. (L’autore ha rimosso questa parte con un edit successivo).

Complessivamente il Gen 12 si sta dimostrando molto promettente. Le performance nel RT sono quasi raddoppiate e abbiamo quasi concluso i lavori. Come già spiegato nel mio post precedente, dopo il Gen 12 sono pianificati molti altri miglioramenti che dovrebbero aumentare ulteriormente le performance. E ovviamente anche le Vulkan!

Un’ultima cosa: poiché attualmente stiamo usando un misto tra il vecchio codice e il Gen 12, il motore di gioco sta usando entrambi i sistemi, cosa che riduce un po’ le prestazioni. Una volta che avremo trasferito al Gen 12 le geometrie trasparenti, tutto ciò non sarà più necessario e vedrete il potenziale completo del Gen 12. Fino ad allora, rimanete sintonizzati e volate in sicurezza!

Ci vediamo nel ‘Verse…

Silvan

  1. “which are brushes and all objects scattered on planets+asteroids”.
    Qui potete trovare la definizione di brushes in relazione ai videogiochi.
    ____
    Traduzione del post su Spectrum