Sok az újdonság a Yuzu-ban

kami911 képe

A Yuzu egy Nintendo Switch emulátor, amely lehetővé teszi, hogy Nintendo Switch játékokat játsszunk PC-n. Az emulátor fejlesztése és fenntartása egy nyílt forráskódú közösség által történik. A Yuzu emulátor lehetővé teszi a PC felhasználók számára, hogy élvezhessék a Nintendo Switch exkluzív játékokat anélkül, hogy a konzolt birtokolnák.

Az emulátor fejlesztése nagy kihívást jelentett, mivel a Nintendo Switch rendszere egyedi jellemzőkkel rendelkezik, és eltér a hagyományos PC-k hardverétől és szoftverétől. A Yuzu fejlesztői azonban keményen dolgoztak azon, hogy az emulátor képes legyen futtatni a Nintendo Switch játékokat a PC-n, a lehető legjobb teljesítmény és kompatibilitás érdekében.

A Yuzu emulátor folyamatosan frissül, és új funkciókat, javításokat és optimalizációkat vezetnek be a játékélmény javítása érdekében. Fontos megjegyezni, hogy az emulátor legális használata csak azokra a játékokra korlátozódik, amelyeket a felhasználó saját jogtiszta Nintendo Switch konzolján vásárolt, és a letöltési jogállapotot tiszteletben tartva. Illegális tevékenységek, például szerzői jogok megsértése vagy játékok másolatainak futtatása az emulátorral, jogi következményekkel járhat.

A fejlesztők havonta adnak ki új frissítéseket és munkájukat havi rendszerességű blogbejegyzésben foglalják össze. A projekt úgy tűnik nagyon lendületesen fejlődik, a rendszeridővel kapcsolatos javítások mellett számos grafikai javítás került a rendszerbe. A fejlesztőknek arra is volt energiájuk, hogy egy-egy játékspecifikus javítást is eszközöljenek. Így javult a Pokemon Scarlet & Violet, a The Legend of Zelda: Breath of the Wild & The Legend of Zelda: Tears of the Kingdom, a SUPER MARIO ODYSSEY, a Xenoblade Chronicles 3, és a Xenoblade Chronicles: Definitive Edition játék is.

A native Switch játék shader-eit nem lehet közvetlenül futtatni a felhasználó GPU-ján, ezért a yuzu újrakódolja azokat egy köztes reprezentációba (IR), ami egy köztes formátum, amelyet optimalizálni lehet, majd konvertálni shaderre, amit a felhasználó GPU drivere valójában kezelni tud (SPIR-V/GLSL/GLASM). Teljesítmény okokból jelentős mennyiségű memória van előre lefoglalva, hogy tárolja ezeket az IR blokkokat, és az előző implementáció kétszer 34 MB-ot használt minden szálon.

68 MB szálonként talán nem tűnik soknak, ugye? De ez az előfoglalás annyiszor történik, ahányszor a CPU teljes szálainak száma, beleértve az SMT-t is. Gyors számolással láthatjuk, hogy egy Ryzen 3600 816 MB rendszermemóriát igényelne, egy Ryzen 7950X vagy i9 13900 pedig 2,2 GB-ot, és sok telefon 8 szálas SoC-jai 544 MB-ot veszítenek ezekkel az előfoglalásokkal. Ez természetesen nem jelent problémát azoknak a felhasználóknak, akiknek 32 GB rendszermemóriájuk van, de 16 GB vagy annál kisebb, különösen 8 GB RAM-mal rendelkező felhasználók számára ez igen magas ár. Nem ritka például egy laptopot látni csak 8 GB RAM-mal és egy 12 szálas Ryzen 5500U-val, vagy 8 GB RAM-mal rendelkező telefonokat és táblagépeket. A jelenlegi változat szálanként körülbelül 134 KB. Ez hatalmas 99,6%-os csökkentés!

Az egyik módja annak, hogy a játékok szebbek legyenek, az anizotróp szűrés magasabb értékeinek kényszerítése, amely lehetővé teszi, hogy a meredek szögeken lévő textúrák sokkal élesebbek legyenek. Az előző implementáció kénytelen volt kihagyni a legközelebbi szomszédsági mintavételezőket a mipmapped képeken annak érdekében, hogy elkerülje a renderezési problémákat olyan játékokban, mint a Fire Emblem: Three Houses és az ASTRAL CHAIN. Ez a döntés azt eredményezte, hogy sok játék, mint például a Metroid Prime Remastered, nem nyert előnyt a magasabb anizotróp szűrés használatával. A fejlesztők módosításokat készytettek annak érdekében, hogy kényszerítse a Breath of the Wild és a Tears of the Kingdom textúráit trilineáris szűrésre, lehetővé téve a yuzu anizotróp szűrésének használatát.

Az OpenGL ismét némi figyelmet kapott: Egy meglepő felfedezés során a NVIDIA OpenGL driverei jelentős teljesítménynövekedést kapnak, ha az előző végrehajtott shader jelentős mennyiségű helyi memóriát használ. Ez az NVIDIA driver OpenGL-specifikus sajátosságnak tűnik, mivel a Vulkan nem érintett. Ez a csodálatos driver trükk 2-10%-os teljesítménynövekedést eredményez a GPU méretétől függően.

De az OpenGL előnyei nem itt értek véget. A Persistent Buffer Maps már használatban voltak a textúratárban, de azok kiterjesztése a puffer tárára több mint kétszeresére növeli az OpenGL teljesítményét NVIDIA hardvereken. Hasonló javulást várnak a Mesa driverek használatakor Linuxon. Bár a legtöbb NVIDIA felhasználónak azt tanácsolják, hogy most már a Vulkan-t hasznáják, mivel az még mindig gyorsabb és jóval kevesebb shader problémát okoz, ezek a változások nagymértékben segítik a Fermi és Kepler (GTX 400-tól GTX 700 sorozatig) felhasználókat, akik a driver támogatási okok miatt továbbra is az OpenGL-t kell használják.

A felbontás skálázás bevezetésével hozzáadtunk az FXAA-t a lehetséges anti-aliasing szűrők közé, ami egy előnyös lehetőség a már túl élesnek tűnő játékokhoz, vagy egyszerűen azokhoz a felhasználókhoz, akik nem engedhetik meg maguknak az SMAA által okozott teljesítményveszteséget. A Vulkan implementációja óta a színes sávosodási problémákkal küzdött. A fejlesztők azonban megoldották a problémát a színmélység magasabb szintjének használatával. Néha a megoldásoknak nem kell bonyolultnak lenniük.

Érdemes átnézni az újdonságok részletes listájáért a beszámolót, nagyon sok információ van benne.

Új verzió letöltése Linuxra és Androidra.