Home Mobile Android Online il nuovo report sui progressi raggiunti dall’emulatore Yuzu nel mese di...

Online il nuovo report sui progressi raggiunti dall’emulatore Yuzu nel mese di agosto

304
0

Pubblicato un nuovo report sui progressi raggiunti nel mese di agosto da Yuzu, il popolare emulatore della console Switch per PC Windows, MacOS, Linux e dispositivi Android.

Uno dei punti salienti di questo aggiornamento riguarda il completamento del progetto Y.F.C. (Yuzu Frame Counter), che ha comportato una riscrittura della cache delle query.

https://twitter.com/yuzuemu/status/1702050970044449262

Questa cache tiene traccia dei valori dei contatori GPU nei giochi Switch, ottimizzando il rendering e migliorando l’esperienza di gioco.

Questi dati consentono ai giochi di ottimizzare il rendering, ad esempio, evitando di disegnare oggetti non visibili dalla camera, come nel caso di Splatoon.

Il developer Blinkhawk ha poi svolto un ruolo chiave in questo progetto, affrontando sfide complesse nelle query GPU dell’host.

Lo sviluppatore ha migliorato notevolmente le prestazioni e risolto problemi grafici in vari giochi su Yuzu, tra cui problemi con la lanterna in Luigi’s Mansion 3 e altre questioni legate all’alta precisione della GPU.

Un altro cambiamento degno di nota riguarda il supporto al framework Skyline, che porta con sé ulteriori miglioramenti nell’elaborazione grafica.

Inoltre, ci sono correzioni importanti al sistema di file, alla gestione della cache delle query e all’implementazione del rendering condizionale dell’host.

Red Dead Redemption è stato rilasciato su Nintendo Switch e altre console, portando con sé una nuova versione del motore proprietario RAGE.

Ma, come spesso accade con i nuovi rilasci, gli sviluppatori si sono scontrati con alcuni problemi di rendering iniziale che hanno richiesto una soluzione creativa.

Per comprendere appieno la sfida affrontata da Blinkhawk e Maide, è necessario fare una breve digressione sulla grafica e sui buffer utilizzati nei giochi.

Uno strumento chiave nella resa grafica è lo stencil di profondità, che è un tipo di immagine che combina un buffer di profondità e uno stencil in un’unica immagine in memoria.

Questo buffer consente alla GPU di determinare quali pixel verranno disegnati, in particolare per effetti come ombre, riflessi e trasparenze.

Il buffer di profondità tiene traccia della distanza tra la telecamera e il pixel più vicino, mentre lo stencil assegna valori a ciascun pixel per etichettare tipi di oggetti, come il terreno, gli alberi o il giocatore.

Questi buffer sono essenziali per applicare effetti grafici in modo condizionale in base al tipo di materiale del pixel.

La sfida principale che Blinkhawk e Maide hanno affrontato era la mancanza di supporto su Vulkan per le cancellazioni mascherate dello stencil di profondità.

Le cancellazioni sono operazioni utilizzate per reimpostare i dati di un buffer a un valore specifico. In OpenGL e NVN, le API grafiche di Nintendo Switch, è possibile applicare una maschera alle cancellazioni, che determina quali bit dell’immagine verranno influenzati.

Tuttavia, Vulkan, progettato per le GPU mobili, ha un’implementazione più efficiente che richiede la cancellazione dell’intero aspetto di un’immagine in una sola volta, evitando la lettura costosa dal buffer di memoria.

Questo ha reso problematico per i giochi che dipendevano da cancellazioni mascherate, come appunto Red Dead Redemption.

Per superare questo ostacolo, Blinkhawk e Maide hanno adottato una soluzione creativa, ispirata da un trucco precedentemente utilizzato in Persona 5 Royal.

Hanno deciso di utilizzare un disegno regolare anziché una cancellazione. Questo approccio ha sfruttato il supporto hardware integrato per applicare maschere stencil e ottenere risultati simili a OpenGL.

Il nuovo sistema ha funzionato disegnando un triangolo a schermo intero, consentendo all’hardware stencil regolare di gestire la mascheratura e la scrittura nel buffer.

Questo ha risolto i problemi di rendering nell’erba e nei cespugli di Red Dead Redemption, portando a un rendering corretto.

Oltre alla sfida delle cancellazioni mascherate, Blinkhawk e Maide hanno lavorato su numerosi altri miglioramenti delle prestazioni e dei rendering nei giochi su Nintendo Switch.

Hanno affrontato problemi con la distribuzione dei calcoli indiretti, migliorato il supporto per texture 3D in Bayonetta 3 e ottimizzato la gestione della cache del buffer e delle mesh.

Questi sforzi hanno portato a significativi aumenti delle prestazioni, persino fino al 69% in Bayonetta 3, a seconda delle specifiche del sistema.

Vonchenplus ha inoltre aggiunto MoltenVK come dipendenza esterna alle impostazioni di CMake di yuzu, consentendo agli utenti Apple di ottenere automaticamente l’ultima versione di questa libreria di traduzione quando compilano yuzu sulle loro macchine.

Questo è di certo un passo importante per migliorare ulteriormente la compatibilità su sistemi macOS.

Miglioramenti specifici per OpenGL, anche per Vulkan

In questa serie di miglioramenti per yuzu, sono state apportate modifiche significative a OpenGL, rendendo il supporto per questa API più performante e fluido, con un impatto positivo anche su Vulkan.

Miglioramento della decodifica ASTC

Sono state apportate ottimizzazioni al decoder ASTC basato su compute shader, sia per OpenGL che per Vulkan. Questo ha portato a miglioramenti significativi nelle prestazioni di decodifica ASTC:

  • Vulkan: La decodifica di texture ASTC in Vulkan ha visto un miglioramento delle prestazioni fino al 60%, il che è notevole.
  • OpenGL su NVIDIA: Questo è stato il cambiamento più sorprendente. L’ottimizzazione ha reso la decodifica ASTC su OpenGL su GPU NVIDIA della serie Fermi/Kepler addirittura 15 volte più veloce, rendendo ora OpenGL leggermente più veloce di Vulkan nella decodifica delle texture ASTC.

Questo è un vantaggio particolarmente importante per gli utenti di GPU NVIDIA delle serie Fermi/Kepler, poiché ora possono sperimentare prestazioni notevolmente migliori in titoli come The Legend of Zelda: Tears of the Kingdom, Bayonetta 3 e Luigi’s Mansion 3.

Risoluzione di problemi di shading in Pokémon Legends: Arceus

In passato, i giocatori di Pokémon Legends: Arceus avevano riscontrato problemi di shading sui personaggi, che causavano artefatti visivi o la mancanza di illuminazione appropriata sui personaggi stessi.

Questo problema era dovuto a un componente chiamato GLASM, che era stato utilizzato in passato per migliorare le prestazioni con controller NVIDIA.

Tuttavia, GLASM non era stato mantenuto adeguatamente e aveva causato problemi di shading in Pokémon Legends: Arceus e in altri giochi moderni basati su feedback di trasformazione.

Epicboy ha affrontato questo problema implementando il supporto per più buffer di feedback di trasformazione, risolvendo il problema del shading errato nei giochi che si basano su questo meccanismo.

Questo è stato un miglioramento significativo per i giocatori che utilizzano GPU NVIDIA più vecchie.

Supporto per il framework Skyline e modding di Super Smash Bros. Ultimate

Il supporto per il framework Skyline e il modulo di modding ARCropolis per Super Smash Bros. Ultimate è stato finalmente implementato.

Ciò è stato reso possibile grazie a una modifica chiamata ASLR (Address Space Layout Randomization), che ha permesso di spostare il codice all’interno della regione ASLR in modo che il framework Skyline funzionasse correttamente.

Questo supporto consente ora ai giocatori di Super Smash Bros. Ultimate di utilizzare mod e personalizzare il loro gameplay in modo più flessibile.

Supporto per giochi con NCAs compressi e sparsi

Progect Terra è il nome del progetto volto a migliorare l’attuale implementazione della emulazione del file system virtuale. Grazie a questo progetto, yuzu ora supporta giochi con NCA (Nintendo Content Archives) compressi e sparsi.

Questo ha reso possibile l’avvio di una serie di titoli eShop che in precedenza non potevano essere eseguiti, tra cui Splatoon 3, Bayonetta 3 e molti altri.

Inoltre, il supporto per la gestione dei dump delle chiavette di gioco è stato aggiunto, consentendo l’utilizzo di dump con l’opzione per l’estrazione dell’area chiave abilitata.

Miglioramenti nell’audio, nell’input e nel core

  • Aggiornata la libreria SDL, risolvendo problemi relativi ai controller Xbox, alla vibrazione dei controller e all’esecuzione in background su Linux.
  • Introdotto un test per l’inizializzazione dell’audio per affrontare i problemi di blocco durante l’avvio del gioco dovuti a configurazioni audio errate.
  • Implementato il supporto per l’audio in formato Opus, migliorando la compatibilità con giochi che utilizzano questo formato.
  • Sono stati corretti i problemi audio che causavano crash in giochi come The Legend of Zelda: Tears of the Kingdom e SUPER MARIO ODYSSEY.

Altre migliorie e progetti futuri

Oltre a queste modifiche, yuzu continua a vedere miglioramenti nell’interfaccia utente su Android e desktop, inclusi nuovi aggiornamenti per la gestione dei giochi, la risoluzione delle schermate dei giochi e le opzioni per le immagini catturate.

Per ulteriori informazioni e per supportare il progetto, è possibile visitare il sito web di yuzu e considerare il supporto su Patreon.

Fonte: twitter.com

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.