Pubblicata la prima release candidate per la versione 2122 di Azahar Emulator. Questa build, essendo una release candidate, non è ancora una versione stabile, ma rappresenta un’anteprima che potrebbe diventare stabile se sottoposta a un’adeguata fase di test senza problemi rilevanti.
Idealmente, questo periodo di test durerà circa sette giorni, ma in caso di problemi importanti verrà prorogato per consentire ulteriori controlli con una versione corretta.
Nonostante si tratti di una versione pre-release, gli utenti sono invitati a provarla per aiutare a individuare eventuali nuovi bug prima che diventi ufficiale.
In caso di problemi, è importante segnalarli su GitHub per permettere al team di valutarli. Chi preferisce evitare possibili inconvenienti minori può attendere direttamente la versione stabile definitiva.
Questo aggiornamento si distingue per il consistente miglioramento delle prestazioni e della compatibilità dei giochi, è importante leggere attentamente le note di rilascio per comprendere tutti i dettagli delle modifiche apportate.
Inoltre, per i dispositivi con architettura x86_64, come la maggior parte dei computer desktop, questa versione richiede una CPU che supporti le istruzioni SSE4.2, una caratteristica ormai presente in tutti i processori moderni prodotti dal 2011 in poi.
Gli utenti con hardware più datato, che non supporta questo set di istruzioni, potranno comunque compilare l’emulatore dal codice sorgente disabilitando l’opzione ENABLE_SSE42
tramite CMake
. Questa novità probabilmente sarà uno standard anche per le future versioni.
Tra le novità tecniche, tutte le operazioni SIMD sono state utilizzate per ottimizzare una funzione molto usata, riducendo il tempo di elaborazione GPU in tutte le applicazioni.
Sono stati migliorati i tempi di gestione delle chiamate SVC simulando più accuratamente il passare del tempo, con notevoli benefici su titoli come Luigi’s Mansion 2, Star Fox 64 3D e The Binding of Isaac: Rebirth.
Rifattorizzato il tracciamento dello stato nel core video, riducendo le sincronizzazioni e i caricamenti verso la GPU, con un aumento generale delle prestazioni.
Abilitata la gestione SPIR-V per la mappatura delle texture Shadow2D, diminuendo sensibilmente i rallentamenti in giochi come Luigi’s Mansion 2 e Resident Evil: Revelations.
Inoltre, alcune ottimizzazioni GLSL -> SPIRV sono state disabilitate di default per migliorare la fluidità generale, pur mantenendo un impatto minimo sulle prestazioni.
Tra le correzioni, è stato risolto un problema nella configurazione del geometry shader che causava l’invisibilità di alcune superfici in Kid Icarus: Uprising, e sostituito un controllo che bloccava The Binding of Isaac: Rebirth all’avvio.
Per macOS, è stato sistemato un problema con la scomparsa di voci nel menu nativo in lingue diverse dall’inglese, riattivando tale menubar.
Su Android, sono state aggiunte opzioni per personalizzare icona e nome dei collegamenti, migliorato il pannello delle prestazioni, introdotto un settaggio per il rapporto d’aspetto, la possibilità di disabilitare la compilazione JIT degli shader, una riorganizzazione del processo di configurazione e la possibilità di ruotare lo schermo.
Corretto anche un crash legato alla perdita di permessi nella cartella dati utente.
Su desktop, è stata aggiunta un’opzione per mostrare informazioni avanzate sui tempi di frame, corretti problemi con il colore di sfondo nel renderer Vulkan e con il salvataggio delle impostazioni del server RPC.
Nelle “stanze” private, gli host ora ricevono automaticamente i privilegi di moderatore mentre l’opzione --enable_citra_mods
è stata rimossa.
Dal punto di vista tecnico, il codice delle impostazioni su Android è stato semplificato, aggiornate dipendenze Vulkan su Windows e Android, migliorata la segnalazione degli errori nella creazione delle superfici Vulkan, risolti vari avvisi di deprecazione su Android Studio e silenziati avvisi ridondanti del compilatore GCC.
Changelog
Tutto
- Le operazioni SIMD sono state utilizzate per ottimizzare una funzione comunemente usata, riducendo il tempo di elaborazione GPU per tutte le applicazioni. | @PabloMK7 #1086
- Questa modifica rompe la compatibilità con le CPU x86_64 che non supportano le istruzioni SSE4.2 (principalmente CPU rilasciate prima del 2011).
- I pochi utenti che hanno hardware che non supporta questo set di istruzioni possono compilare l’emulatore dal codice sorgente disabilitando l’opzione
ENABLE_SSE42
in CMake.- Disabilitare questa opzione di CMake disabilita anche l’ottimizzazione della funzione comunemente utilizzata.
- Gestione dei tempi di SVC migliorata simulando il passaggio del tempo in modo più accurato. | @PabloMK7 #1093
- Questo comporta miglioramenti significativi delle prestazioni per diversi giochi, tra cui, ma non solo, Luigi’s Mansion 2, Star Fox 64 3D e The Binding of Isaac: Rebirth.
- Ristrutturato il tracciamento dello stato nel core video, riducendo la quantità di sincronizzazioni e caricamenti necessari alla GPU. | @PabloMK7, contributore anonimo #1059
- Questo migliora le prestazioni in tutte le applicazioni.
- Abilitato l’uso di SPIR-V con la mappatura delle texture Shadow2D. | @PabloMK7, contributore anonimo #1057
- Questo riduce notevolmente gli scatti in alcuni giochi, come Luigi’s Mansion 2 e Resident Evil: Revelations, ma anche altri titoli potrebbero trarne beneficio.
- Le ottimizzazioni da GLSL a SPIR-V sono state disabilitate di default, con una nuova impostazione che permette di riattivarle. | @PabloMK7 #1080, #1084
- Disabilitare queste ottimizzazioni ha un impatto minimo sulle prestazioni, migliorando però significativamente gli scatti in tutte le applicazioni.
- Corretto il parametro dell’indice di partenza nella configurazione dello shader di geometria, che era impostato in modo errato. | @PabloMK7, contributore anonimo #1056
- Questo risolve un problema in Kid Icarus: Uprising dove le rotaie grind apparivano invisibili.
- Sostituito un assert problematico in AccelerateTextureCopy con un errore registrato. | @PabloMK7 #1092
- Questa modifica corregge un problema che causava il crash immediato di The Binding of Isaac: Rebirth all’avvio di una partita.
MacOS
- Risolto un problema per cui alcune voci scomparivano dalla barra dei menu nativa quando si utilizzavano determinate lingue non inglesi. | @RedBlackAka #1111
- A seguito di questa modifica, la barra dei menu nativa, disabilitata nella versione 2121, è stata riattivata.
Android
- Aggiunte opzioni durante la creazione dei collegamenti per personalizzare icona e nome del collegamento. | Kleidis #824
- Il pannello delle prestazioni è stato migliorato con nuove impostazioni e statistiche, attivabili dal menu Layout. | Kleidis #808
- Di default viene mostrato solo l’FPS corrente, mentre altre statistiche possono essere attivate nel menu delle impostazioni citato.
- Introdotta un’impostazione per il rapporto d’aspetto che influisce sul layout a schermo singolo. | @icy-briar #913
- Aggiunta un’opzione per disabilitare la compilazione JIT degli shader. | @PabloMK7 #1085
- Riorganizzato il processo di configurazione per ridurre il numero eccessivo di pagine. | Kleidis, @OpenSauce04 #820
- Introdotto un toggle per ruotare lo schermo in posizione verticale. | Kleidis #819
- Risolto un problema per cui Azahar crashava all’avvio se veniva revocato il permesso di accesso alla directory dati utente. | @PabloMK7 #1110
Desktop
- Aggiunta un’opzione che permette di visualizzare informazioni avanzate sul tempo dei frame nella parte inferiore della finestra. | @PabloMK7 #1083
- Risolto un problema per cui un colore di sfondo personalizzato non veniva applicato usando il renderer Vulkan al primo avvio di un’applicazione. | @icy-briar #896
- Risolto un problema per cui l’impostazione del server RPC non veniva salvata e risultava sempre disabilitata al riavvio di Azahar. | @PabloMK7 #1129
Room
- Gli host delle stanze private ora ricevono automaticamente i privilegi da moderatore. | Kleidis #822
- L’opzione
--enable_citra_mods
è stata rimossa. | Kleidis #822
Tecnico
- Rifattorizzato il codice delle impostazioni switch su Android per memorizzare solo valori booleani. | Kleidis #821
- Aggiornate alcune dipendenze Vulkan obsolete su Windows (MSVC) e Android per allinearle alla Vulkan SDK 1.4.304.1 utilizzata altrove. | @OpenSauce04 #1094
- Vulkan::CreateSurface ora segnala un codice di errore in caso di problemi. | @PabloMK7 #1130
- Risolte diverse segnalazioni di deprecazione evidenziate da Android Studio. | @OpenSauce04
- Soppressi avvisi ridondanti GCC ABI prodotti dall’opzione
-Wpsabi
. | @OpenSauce04 #1089
Download: azahar-2122-rc1-android-universal.aab – 66.6 MB
Download: azahar-2122-rc1-android-universal.apk – 43 MB
Download: azahar-2122-rc1-macos-universal.zip – 105 MB
Download: azahar-2122-rc1-windows-msvc-installer.exe – 27.4 MB
Download: azahar-2122-rc1-windows-msvc.zip – 36.6 MB
Download: azahar-2122-rc1-windows-msys2-installer.exe – 38.1 MB
Download: azahar-2122-rc1-windows-msys2.zip – 54 MB
Download: azahar-unified-source-2122-rc1.tar.xz – 36.3 MB
Download: azahar-unified-source-2122-rc1.tar.xz.sha256sum – 104 Bytes
Download: azahar-2122-rc1.AppImage – 97.5 MB
Download: Source code azahar-2122-rc1
Fonte: github.com