r   e   k   l   a   m   a
r   e   k   l   a   m   a

Dolphin 5.0: pełna emulacja Nintendo Wii i GameCube już nie na XP, ale za to na DX12

Strona główna AktualnościOPROGRAMOWANIE

Nie ma dziś lepszego emulatora konsol niż Dolphin. Autorom tego programistycznego majstersztyku udało się dokonać czegoś niesamowitego – zbudować wirtualne środowisko, w którym gry pisane na Nintendo GameCube i Wii działają i wyglądają lepiej, niż na oryginalnym sprzęcie. Wraz z nowym wydaniem 5.0, które zadebiutowało w ten weekend, te słowa są jeszcze prawdziwsze, niż wcześniej – i to nawet przy uruchomieniu Dolphina na słabszych komputerach. Ponad rok pracy programistów poświęcony był bowiem przede wszystkim optymalizacjom wydajności.

Trzeba przyznać, że do tej pory kolejne wydania Dolphina stawały się coraz bardziej ociężałe, odpalenie emulatora na słabszych maszynach, np. salonowych komputerkach HTPC, stawało się coraz większym wyzwaniem. Bez procesora klasy Intel Core i5 i przyzwoitej karty 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 na wydanie rósł – rozmaite programistyczne hacki, pisane oddzielnie pod 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ły bezpośrednio do warstwy renderowania grafiki. Wykorzystano wszystkie możliwe rozszerzenia CPU i GPU, by umożliwić szybsze działanie programu. Co szczególnie zainteresuje użytkowników Windowsa 10, napisano nowy backend dla DirectX 12, który przyniósł spory wzrost wydajności. Coś w zamian jednak musiało odejść – i tak skończyło się wsparcie dla Windowsa XP i Visty, Dolphina nie uruchomimy też już na 32-bitowych procesorach i starych kartach graficznych, które nie obsługują co najmniej DirectX 10 i OpenGL 3.

r   e   k   l   a   m   a

Oto kilka najważniejszych ulepszeń, które otrzymaliśmy z nową wersją emulatora:

- szybsza emulacja CPU. Z emulatora zniknął 32-bitowy kompilator Just-in-Time (i dlatego nie uruchomicie już Dolphina na starych komputerach), a to pozwoliło wprowadzić wiele wcześniej niemożliwych optymalizacji, zwiększając nie tylko wydajność, ale i dokładność. Zniknęły wreszcie problemy z przelatywaniem postaci przez ściany (np. w Super Mario Galaxy). Co więcej, będzie teraz można uruchomić gry wykorzystujące jednostkę MMU procesora, takie jak Rogue Squadron III (wcześniej zbyt kosztowne obliczeniowo). Gra ta działa dziesięciokrotnie szybciej, niż na wersji 4.0.

- Texture EnVironment Fixes, czyli całkowite przepisanie potoku grafiki w emulacji GameCube i Wii. Zamiast emulować stałoprzecinkową arytmetykę na zmiennoprzecinkowej arytmetyce GPU, wykorzystano API DirectX-a i OpenGL-a, pozwalające na natywne przetwarzanie stałoprzecinkowych obliczeń. Efekt? Znikają te wszystkie zakłócenia grafiki, wynikające z problemów z zaokrągleniami operacji matematycznych. To jest też powód porzucenia wsparcia dla starych GPU: nie obsługują one wspomnianych interfejsów.

- obsługa funkcji graficznej zFreeze, wykorzystywanej w takich grach jak Rogue Squadron II czy Blood Omen 2 – i przez wiele lat uważanej za niemożliwej do zaimplementowania. Dlaczego było to tak trudne? Po prostu współczesne GPU nie mają niczego podobnego do tego, co znalazło się w osobliwych procesorach graficznych konsol Nintendo. Funkcja ta pozwala na zamrożenie wartości głębi pikseli na 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 identyczne wartości w buforze głębi – i prowadzącego do paskudnych artefaktów. Z czasem jednak programiści zaczęli wykorzystywać to do różnych sztuczek z rysowaniem cieni i symulowaniem głębi przestrzeni, bardzo trudnych do software’owego odtworzenia w emulatorze.

- obsługa ES_Launch, czyli koniec problemów z selektorami slotów czy ustawień w takich grach jak Metroid Prime, House of the Dead czy Super Smash Bros. Wszystko działa wreszcie tak jak powinno, bez przycinania się, nie trzeba ładować gier z domyślnymi ustawieniami.

- generowanie pełnego stereoskopowego obrazu 3D, tym razem przepisane od podstaw i działające tak, że nie trzeba wybierać między trzecim wymiarem a jakością grafiki. Najlepiej działa to z okularami NVIDIA 3D Vision, ale poradzi sobie też z monitorami wyświetlającymi obrazy w pionie i obok siebie.

- ulepszony dźwięk. Opóźnienia dla obu interfejsów dźwiękowych Nintendo zostały obniżone o ponad 80 ms, a to przekłada się na 5 klatek w grze 60 FPS, coś co każdy łatwo zauważy. Znacznie lepiej mają brzmieć scenki ze Starfox Adventures, czy muzyka odtwarzana w trakcie gry w Zeldę.

- wsparcie dla natywnych kontrolerów Nintendo. Nie tylko łatwiej będzie wykorzystać standardowe kontrolery Wii Remote, nie tylko będą one bardziej kompatybilne (dźwięk, restartowanie połączenia itp.), ale dodano też wsparcie dla kontrolerów GameCube.

- emulacja wyjścia wideo. Rozdzielczości na Nintendo są trudne i nie pasują do standardowych proporcji 4:3 czy 16:9. Teraz emulator pozwoli rzucić na ekran wszystko, co tylko Wii czy GameCube generowało i dostosować do tego najlepsze pasujące proporcje, automatycznie, bez konfigurowania czegokolwiek.

To oczywiście tylko najważniejsze nowości, liczba wszystkich zmian w kodzie Dolphina 5.0 względem 4.0 liczy niemal 10 tysięcy commitów. Widać jednak, że ten spektakularny projekt Open Source, znakomicie udokumentowany i rozwijany przez silną społeczność, ma się świetnie – i jeśli kręcą Was klasyczne gry na Nintendo, to warto po ten emulator sięgnąć.

Dolphina 5.0 pobierzecie z naszej bazy oprogramowania w wersji na Windowsa.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.