Nel nuovo report sui progressi di RyuJinx per il mese di gennaio, si è posta particolare attenzione alla compatibilità con dispositivi basati su architettura ARM.
L’avvento dei dispositivi ARM, amplificato dalla popolarità dei processori Apple M1 e dall’avvento del Steam Deck, ha aperto a nuove possibilità.
January progress report is live:https://t.co/amBfZt5Zcj
— Ryujinx (@RyujinxEmu) February 18, 2024
Tuttavia, l’emulazione di giochi per console su piattaforme ARM presenta sfide uniche, che il team di Ryujinx si è dedicato ad affrontare.
Una delle principali sfide affrontate dal team è stata l’ottimizzazione del compilatore JIT per dispositivi ARM.
L’approccio tradizionale di compilazione JIT comportava un carico computazionale elevato su dispositivi ARM, con conseguente consumo di risorse e riduzione delle prestazioni.
Per superare questo ostacolo, il team ha implementato un nuovo metodo di compilazione chiamato “lightning recompilation”, che analizza i blocchi di codice e determina se è necessario ricompilare.
Questo approccio ha portato a significativi miglioramenti delle prestazioni, riducendo notevolmente il tempo di ricompilazione e il consumo di risorse.
Inoltre, il team ha lavorato per ottimizzare l’esecuzione dei giochi a 32 bit su dispositivi ARM, un’area che ha presentato sfide particolari.
Attraverso l’implementazione di nuove strategie di gestione della memoria e l’ottimizzazione del codice, Ryujinx ora è in grado di eseguire giochi a 32 bit in modo efficiente e affidabile, offrendo un’esperienza di gioco fluida anche su dispositivi ARM.
Un’altra importante iniziativa è stata l’integrazione del supporto per Vulkan su dispositivi ARM. Vulkan è una API grafica ad alte prestazioni che consente agli sviluppatori di ottimizzare i giochi per una vasta gamma di piattaforme hardware.
Con il supporto per Vulkan, Ryujinx offre un’esperienza di gioco ancora più fluida e reattiva su dispositivi ARM, consentendo agli utenti di godere appieno dei loro giochi preferiti.
A questi viene aggiunto il supporto per le lingue da destra a sinistra, e dopo molti anni e innumerevoli richieste, un nuovo gestore di mod che consentirà agli utenti di aggiungere qualsiasi numero di mod di gioco che potranno essere anche disattivate.
Inoltre, l’applet del controller HLE è stata leggermente rielaborata per offrire qualcosa di più visivo come guida per i giocatori e i controller supportati.
L’applet ora mostrerà le icone dei tipi di controller richiesti dal gioco e quanti giocatori accetterà. In linea generale, questo era uno degli applet più confusi a causa dell’effetto “muro di testo”, e il fatto che le console più vecchie semplicemente non si curassero tanto quanto lo fa lo Switch riguardo alle combinazioni giocatore/controller.
Sul tema delle combinazioni giocatore/controller, è stato implementato un sistema migliore per identificare i controller durante la disconnessione o la riconnessione.
In precedenza, il sistema si basava sull’ID del controller (standardizzato per un controller specifico) e anche l’indice globale che viene assegnato al momento della connessione.
Purtroppo, questo indice globale cambierebbe a seconda di quando e come il dispositivo veniva connesso, risultando in dispositivi che non venivano assegnati al profilo corretto o non assegnati affatto alla connessione.
Il sistema ora utilizza un indice separato oltre al GUID per tracciare i dispositivi, ottenendo una maggiore coerenza per i controller aggiunti o riconnessi che effettivamente caricano correttamente i loro profili.
Tuttavia, il supporto per dispositivi ARM è solo una parte della missione di Ryujinx. Il team continua a lavorare sodo per migliorare l’emulatore su tutte le piattaforme supportate, con l’obiettivo di offrire la migliore esperienza di gioco possibile per tutti gli utenti.
Fonte: twitter.com