Dolphin 5.0: pełna emulacja Nintendo Wii i GameCube już nie na XP, ale za to na DX12
Nie ma dziś lepszego emulatora konsol niż Dolphin. Autorom tegoprogramistycznego majstersztyku udało się dokonać czegośniesamowitego – zbudować wirtualne środowisko, w którym grypisane na Nintendo GameCube i Wii działają i wyglądają lepiej,niż na oryginalnym sprzęcie. Wraz z nowym wydaniem 5.0, którezadebiutowało w ten weekend, te słowa są jeszcze prawdziwsze, niżwcześniej – i to nawet przy uruchomieniu Dolphina na słabszychkomputerach. Ponad rok pracy programistów poświęcony był bowiemprzede wszystkim optymalizacjom wydajności.
27.06.2016 13:44
Trzeba przyznać, że do tej pory kolejne wydania Dolphina stawałysię coraz bardziej ociężałe, odpalenie emulatora na słabszychmaszynach, np. salonowych komputerkach HTPC, stawało się corazwiększym wyzwaniem. Bez procesora klasy Intel Core i5 i przyzwoitejkarty graficznej nie było co myśleć o płynnym graniu w FullHD.Nikogo to nie dziwiło, bo poziom dokładności emulacji z wydania nawydanie rósł – rozmaite programistyczne hacki, pisane oddzielniepod popularne gry, pozwalały uzyskać ogromną dokładność.
Dolphin 5.0 został w całości oczyszczony z tych naleciałości,przyspieszony nowym dynamicznym rekompilerem, a optymalizacje trafiłybezpośrednio do warstwy renderowania grafiki. Wykorzystano wszystkiemożliwe rozszerzenia CPU i GPU, by umożliwić szybsze działanieprogramu. Co szczególnie zainteresuje użytkowników Windowsa 10,napisano nowy backend dla DirectX 12, który przyniósł spory wzrostwydajności. Coś w zamian jednak musiało odejść – i takskończyło się wsparcie dla Windowsa XP i Visty, Dolphina nieuruchomimy też już na 32-bitowych procesorach i starych kartachgraficznych, które nie obsługują co najmniej DirectX 10 i OpenGL3.
Dolphin 5.0 Release Video
Oto kilka najważniejszych ulepszeń, które otrzymaliśmy z nowąwersją emulatora:
- szybsza emulacja CPU. Z emulatora zniknął 32-bitowy kompilatorJust-in-Time (i dlatego nie uruchomicie już Dolphina na starychkomputerach), a to pozwoliło wprowadzić wiele wcześniejniemożliwych optymalizacji, zwiększając nie tylko wydajność, alei dokładność. Zniknęły wreszcie problemy z przelatywaniempostaci przez ściany (np. w Super Mario Galaxy). Co więcej, będzieteraz można uruchomić gry wykorzystujące jednostkę MMU procesora,takie jak Rogue Squadron III (wcześniej zbyt kosztowneobliczeniowo). Gra ta działa dziesięciokrotnie szybciej, niż nawersji 4.0.
- Texture EnVironment Fixes, czyli całkowite przepisanie potokugrafiki w emulacji GameCube i Wii. Zamiast emulować stałoprzecinkowąarytmetykę na zmiennoprzecinkowej arytmetyce GPU, wykorzystano APIDirectX-a i OpenGL-a, pozwalające na natywne przetwarzaniestałoprzecinkowych obliczeń. Efekt? Znikają te wszystkiezakłócenia grafiki, wynikające z problemów z zaokrągleniamioperacji matematycznych. To jest też powód porzucenia wsparcia dlastarych GPU: nie obsługują one wspomnianych interfejsów.
- obsługa funkcji graficznej zFreeze, wykorzystywanej w takichgrach jak Rogue Squadron II czy Blood Omen 2 – i przez wiele latuważanej za niemożliwej do zaimplementowania. Dlaczego było to taktrudne? Po prostu współczesne GPU nie mają niczego podobnego dotego, co znalazło się w osobliwych procesorach graficznych konsolNintendo. Funkcja ta pozwala na zamrożenie wartości głębi pikselina wielokącie w odniesieniu do dowolnie wybranej płaszczyzny.Pozwalało to bardzo ładnie rozwiązywać sytuację tzw.Z-fightingu, zachodzącego, gdy obiekty miały podobne lub identycznewartości w buforze głębi – i prowadzącego do paskudnychartefaktów. Z czasem jednak programiści zaczęli wykorzystywać todo różnych sztuczek z rysowaniem cieni i symulowaniem głębiprzestrzeni, bardzo trudnych do software’owego odtworzenia wemulatorze.
- obsługa ES_Launch, czyli koniec problemów z selektorami slotówczy ustawień w takich grach jak Metroid Prime, House of the Dead czySuper Smash Bros. Wszystko działa wreszcie tak jak powinno, bezprzycinania się, nie trzeba ładować gier z domyślnymiustawieniami.
- generowanie pełnego stereoskopowego obrazu 3D, tym razemprzepisane od podstaw i działające tak, że nie trzeba wybieraćmiędzy trzecim wymiarem a jakością grafiki. Najlepiej działa to zokularami NVIDIA 3D Vision, ale poradzi sobie też z monitoramiwyświetlającymi obrazy w pionie i obok siebie.
- ulepszony dźwięk. Opóźnienia dla obu interfejsówdźwiękowych Nintendo zostały obniżone o ponad 80 ms, a toprzekłada się na 5 klatek w grze 60 FPS, coś co każdy łatwozauważy. Znacznie lepiej mają brzmieć scenki ze StarfoxAdventures, czy muzyka odtwarzana w trakcie gry w Zeldę.
- wsparcie dla natywnych kontrolerów Nintendo. Nie tylko łatwiejbędzie wykorzystać standardowe kontrolery Wii Remote, nie tylkobędą one bardziej kompatybilne (dźwięk, restartowanie połączeniaitp.), ale dodano też wsparcie dla kontrolerów GameCube.
- emulacja wyjścia wideo. Rozdzielczości na Nintendo są trudnei nie pasują do standardowych proporcji 4:3 czy 16:9. Teraz emulatorpozwoli rzucić na ekran wszystko, co tylko Wii czy GameCubegenerowało i dostosować do tego najlepsze pasujące proporcje,automatycznie, bez konfigurowania czegokolwiek.
To oczywiście tylko najważniejsze nowości, liczba wszystkichzmian w kodzie Dolphina 5.0 względem 4.0 liczy niemal 10 tysięcycommitów. Widać jednak, że ten spektakularny projekt Open Source,znakomicie udokumentowany i rozwijany przez silną społeczność, masię świetnie – i jeśli kręcą Was klasyczne gry na Nintendo, towarto po ten emulator sięgnąć.
Dolphina 5.0 pobierzecie z naszej bazy oprogramowania w wersji naWindowsa.