emulowanie

Emulacja — czym jest i z czym to się je?

6 minut czytania
Komentarze

Emulacja i emulatory są na pewien sposób fascynującą gałęzią technologii. Dzięki emulacji nie musimy posiadać oryginalnego sprzętu i możemy cieszyć się ulubionymi grami z innych platform na sprzęcie, który jest dla nas najwygodniejszy. Mało tego emulatory dodają wiele współczesnych funkcji, o których kiedyś mogliśmy tylko pomarzyć. Na wstępie zaznaczę, że artykuł ten jest jedynie wstępem do ogromnego tematu. Wątek ten na pewno będzie się rozwijał na przestrzeni czasu, ponieważ w kontekście emulacji jest bardzo dużo do powiedzenia i nie sposób poruszyć wszystkich aspektów oraz zawiłości.

Czym jest emulacja oraz emulator?

Emulacja

W dużym skrócie emulacją nazywamy symulowanie działania określonego oprogramowania lub sprzętu na urządzeniu innego typu. Takowe symulowanie odbywa się poprzez specjalne programy nazywane emulatorami. Oznacza to, że emulator w pewnym sensie działa jak tłumacz. Tłumaczy on w czasie rzeczywistym komendy i instrukcje określonego sprzętu na „język” tego, który służy nam do emulacji. Dlaczego takie tłumaczenie jest potrzebne? Ponieważ bardzo istotnym elementem sprzętu jest jego architektura. Obecnie do emulacji wykorzystujemy sprzęt, który oparty jest o architekturę x86 (komputery) lub ARM (smartfony, tablety). Wcześniejsze konsole i inny sprzęt miały w dużej części przypadków niestandardową architekturę, unikalną tylko dla tego jednego typu sprzętu.

Jeżeli jesteście zainteresowani aspektem, jak emulator działa w praktyce i chcecie, aby to zagadnienie było wam bardziej przybliżone to odsyłam do świetnego materiału arhn.eu, który tłumaczy zdecydowanie najważniejsze zawiłości tego tematu.

Potrzeba więcej mocy!

Wszystko, co dzieje się pod maską procesu emulacji, to bardzo precyzyjne i zawiłe obliczenia, które wymagają bardzo dużo mocy obliczeniowej od sprzętu, na którym emulować zamierzamy. Z tego też powodu o emulacji PS4, Xbox One, czy prawie każdego nowszego sprzętu możemy jedynie pomarzyć. Obecnie, nawet emulacja PS3 czy Xbox 360 wymaga od naszego sprzętu bardzo dużo, choć jesteśmy coraz bliżej satysfakcjonującej prędkości odpalania gier. Głównym problemem emulatora jest jego nieprzewidywalność i problem z obsługą.

Emulatory mają bardzo wiele opcji dodatkowych, praktycznie żaden emulator nie oferuje tylko wybrania romu gry i rozpoczęcia gry tak, jak było to kiedyś. Obsługują one dodatkowe pady, potrafią skalować oryginalną rozdzielczość do rozdzielczości wyższej, a także posiadają mnóstwo typowo sprzętowych opcji. Nigdy nie działa to w taki sposób, że ustawiamy wszystko raz lub gramy na opcjach domyślnych i po prostu gramy. Każda gra wymaga swojej określonej konfiguracji, która pozwoli jej działać w najlepszy możliwy sposób. Emulatory zdejmują również ograniczniki klatek na sekundę. Niby fajnie, ale to powoduje kolejne problemy, które powodują, że na przykład w grach, które miały oryginalnie 60 klatek, nie zagracie na klatkach 30. Gra będzie po prostu chodzić w zwolnionym tempie.

Na jakim aktualnie poziomie jesteśmy? Na komputerach i ich współczesnych konfiguracjach, na tę chwilę szczytem jest emulowanie Xbox 360 i PS3. Na razie wszyscy zdają sobie sprawę, że nawet i9-ka, którą sparujemy z RTX-em 3090, nie da sobie rady z niczym mocniejszym.

Na smartfonach mam wrażenie, że scena emulacyjna rozwija się znacznie szybciej. Aktualnie najbardziej robi wrażenie emulator Nintendo Switch, który działa już naprawdę nieźle. Oczywiście na komputerze emulacja Switcha też jest możliwa, ale nie jest to nic zaskakującego. Tam wszystko działa dobrze już od bardzo dawna. Na uwagę zasługuje również emulacja PS2, która również rozwija się na smartfonach bardzo prężnie. Jeszcze rok temu większość gier była zupełnie niegrywalna, nawet na najmocniejszych telefonach. Obecnie gry, których nie odpalimy to raczej mniejszość i są to produkcje, które już wyciskały z PS2 ostatnie soki.

Co już sprawnie możemy emulować i jakiego sprzętu potrzebujemy?

Zaczniemy najpierw od konsol, które damy radę emulować praktycznie na wszystkim. Nie potrzebujemy do tego sprzętu pokroju jakiegokolwiek demona prędkości. Wystarczy nawet najsłabszy komputer czy smartfon ze średniej półki. Takimi bezproblemowymi platformami będą oczywiście NES, SNES, wszystkie konsole Segi, a i emulacja PS1 również problemu sprawiać nie będzie. Fakt, że owe emulatory nie sprawiają żadnych problemów, wynika z tego, że obecne smartfony, a tym bardziej komputery są nawet kilkaset razy wydajniejsze od tych sprzętów, które chcemy emulować.

Schody zaczynają się, kiedy wchodzimy na poletko 6. generacji konsol. Do emulacji Gamecube’a czy Wii również wystarczy nam smartfon, jednakże tutaj już wypadałoby się zaopatrzyć, chociaż w smartfon z dobrym średniopółkowym układem. Osobiście na smartfonie ze Snapdragonem 860 udało mi się przejść dwie części Harrego Pottera. Jedna z epoki Wii, jedna z epoki Gamecube’a. Need for Speed Most Wanted z GC też był jako tako grywalny, ale Underground 2 już strasznie przycinał. PSP też dla smartfonów obecnych nie będzie stanowić problemu, choć to zależy od przypadku. God of War uruchamiał się na moim smartfonie bez najmniejszych kłopotów, Motorstorm Arctic Edge był natomiast niegrywalny. Niegrywalne gry na PSP to jednak wyjątek, nie reguła.

https://www.youtube.com/watch?v=l_Q50MQshDk&ab_channel=TechUtopia

Co istotne chyba największym osiągnięciem emulacyjnym, jest emulacja switcha na smartfonach. W tym przypadku natomiast większość gier jest po prostu niegrywalnych oraz zalecane są smartfony z najmocniejszymi dostępnymi układami. Jeśli nie macie procesora pokroju Snapdragona 870, 888 czy Snapdragona 8 gen. 1 to nie ma się nawet na co rzucać. Dlaczego wymieniam tu głównie Snapdragony? Ponieważ emulatory w większości dostosowane są właśnie do tych układów. Emulator Switcha daje możliwość korzystania z innych sterowników układu graficznego, niż domyślne i robi to naprawdę dużą różnicę w prędkości emulacji. To jest jednak temat na zupełnie inny artykuł.

PS3 i Xbox 360 nie stanowi problemu tylko dla stosunkowo mocnych PC-tów. Są gry, które działają lepiej, jak na przykład Resistance 2, który powinien być grywalny na i5 9 gen. i GTX 1060, ale są też gry, które nie uruchamiają się wcale lub mają dużą liczbę glitchy graficznych. Takim przykładem może być pierwsza Forza Horizon z X360. Nawet na najmocniejszych konfiguracjach, pomimo że sama gra działa płynnie, to potrafią notorycznie zanikać tekstury. Uroki emulacji.

https://www.youtube.com/watch?v=_yYlnA6Ijw0&ab_channel=AllTheGameplays

Jest to jedynie początek tego tematu, jak zaznaczyłem na początku artykułu. Będziemy na przestrzeni czasu przyglądać się kolejnym emulatorom, sprawdzać ich możliwości oraz zdolność uruchamiania gier. To właśnie w późniejszych, bardziej konkretnych materiałach wytłumaczę bardziej ich istotę działania oraz pokażę, jak wiele gier mamy jeszcze do nadrobienia!

Motyw