P.E.Op.S. Soft GPU 1.17

Wstęp

W dzisiejszych rozważaniach przyjrzymy się bliżej pluginowi P.E.Op.S. Soft Driver, który zarówno pod względem kompatybilności jak i niskiemu pochłanianiu zasobów komputera czy nawet jakości wyświetlanego obrazu w dwuwymiarowych grach stanowi doskonałą alternatywę dla używanych powszechnie wtyczek autorstwa Pete`a.

Wymagania

Jako, że plugin nie wykorzystuje dobrodziejstw akceleracji graficznej do jego obsługi wystarczy karta graficzna wyposażona w 2MB pamięci, zdolna do wyświetlania obrazu w 16 lub 32-bitowej palecie kolorów. Co się tyczy systemów Linux, sprawą oczywistą jest że wtyczka do prawidłowego działania wymaga środowiska graficznego X.

Instalacja

Podobnie jak w przypadku większości pluginów instalacja wtyczki pod systemami Windows ogranicza się do rozpakowania pliku *.dll z archiwum do podfolderu PLUGINS emulatora. Jeśli chodzi o systemy Linux to sprawa jest troszkę trudniejsza gdyż oprócz skopiowania pliku „libgpuPeopsSoftX.so.1.0.x” do folderu z pluginamy należy również skopiować plik konfiguracyjny „gpuPeopsSoftX.cfg” do głównego katalogu emulatora (ew. do katalogu domowego).

Konfiguracja P.E.Op.S. Soft Driver
Rys. Podstawowa konfiguracja pluginu P.E.Op.S. Soft Driver.

Konfiguracja

P.E.Op.S. Soft Driver oferuje następujące opcje konfiguracyjne:

Rendering device – plugin umożliwia wybór karty graficznej za pomocą, której wyświetlany będzie obraz. Opcja skierowana dla osób posiadających więcej niż jedną kartę grafiki np. GF2 w slocie AGP jako podstawową kartę i VooDoo 1/2/3 w slocie PCI jako dodatkowy akcelerator.

Resolution & Colors – sekcja pozwala wybór kilku parametrów pracy wtyczki wideo tj.:

  • Tryb pracy – pełnoekranowy (fullscreen mode) bądź wyświetlanie obrazu w oknie (window mode).
  • Rozdzielczość – dla trybu pełnoekranowego mamy możliwość wybrania optymalnej rozdzielczości za pomocą rozwijanego pola zawierającego wszystkie tryby obsługiwane przez naszą kartę / monitor. Natomiast dla trybu pracy w oknie możemy samodzielnie zdefiniować rozdziałkę wpisując w sekcji „Size” odpowiednie wartości np. 640×480 lub 800×600.
  • Kolor – liczbę dostępnych kolorów możemy wybrać z okienka „Color depth”, przy czym warto zwrócić uwagę na fakt, że dla uzyskania lepszej prędkości emulacji bądź w przypadku korzystania z kart VooDoo 1 & 2 głębia kolorów powinna zostać ustawiona na wartość 16 Bit.

Stretching – w najprostszym przypadku opcja pozwala na rozciągniecie obrazu do wielkości okna / ekranu, jednakże w przypadku wtyczki P.E.Op.S. mamy również do wyboru kilka zaawansowanych trybów filtrowania obrazu znacząco polepszających jakość wyświetlanej grafiki. Tak oto wybrać możemy pomiędzy następującymi trybami:

  • Stretch to full window size – rozciągniecie obrazu do wielkości okna, brak dodatkowych efektów/filtrów.
  • Scale to window size – skalowanie obrazu do wielkości okna z zachowaniem PSXowych proporcji (wielkość obrazu w pionie >> w poziomie), brak dodatkowych efektów/filtrów.
  • [Super]2xSAI stretching – filtrowanie tekstur oparte na algorytmie [Super]2xSAI (wygładzenie tekstur) z dodatkowym rozciągnięciem obrazu do wielkości okna. Opcja wymaga szybkiego CPU.
  • [Super]2xSAI unstretched – filtrowanie tekstur oparte na algorytmie [Super]2xSAI (wygładzenie tekstur) bez rozciągania obrazu do wielkości okna. Opcja wymaga szybkiego CPU.
  • SuperEagle stretching – filtrowanie tekstur oparte na algorytmie SuperEagle (wyostrzanie tekstur) z dodatkowym rozciągnięciem obrazu do wielkości okna. Opcja wymaga szybkiego CPU.
  • SuperEagle unstretched – filtrowanie tekstur oparte na algorytmie SuperEagle (wyostrzanie tekstur) bez rozciągania obrazu do wielkości okna. Opcja wymaga szybkiego CPU.
  • Scale2x stretching – filtrowanie tekstur oparte na algorytmie Scale2x (wygładzenie tekstur) z dodatkowym rozciągnięciem obrazu do wielkości okna. Opcja wymaga szybkiego CPU.
  • Scale2x unstretched – filtrowanie tekstur oparte na algorytmie Scale2x (wygładzenie tekstur) bez rozciągania obrazu do wielkości okna. Opcja wymaga szybkiego CPU.

Dithering – algorytm umożliwiający wyświetlenie większej liczby kolorów, niż pozwala na to sprzęt graficzny. Cel ten osiągany jest przez ułożenie (zmieszanie) kilku sąsiadujących pikseli w kolorach z palety w regularny wzór, który symuluje „brakujący” kolor. W ten sposób poszczególne przejścia pomiędzy poligonami ulegają wygładzeniu, a jakość wyświetlanej grafiki znacząco wzrasta. W pluginie P.E.Op.S. Soft Driver do wyboru mamy trzy tryby ditheringu:

  • No dithering – brak ditheringu = najszybszy tryb / najszybsza emulacja.
  • Game depended – dithering zostaje aktywowany jedynie w przypadku gier, które tego wymagają (czyt. wykorzystują instrukcje związane z tym algorytmem).
  • Always – plugin wykorzystuje dithering przez cały czas swojego działania, dzięki czemu jakość wyświetlanego obrazu stoi na bardzo wysokim poziomie, ale spadek prędkości emulacji jest widoczny na słabszych sprzętach.

Framerate – to zestaw funkcji odpowiedzialnych za szybkość wyświetlanej animacji w jej skład wchodzą następujące opcje:

  • Transparent FPS display – zaznaczenie opcji spowoduje wyświetlanie podręcznego menu jako samego tekstu (bez obramowania).
  • Show FPS display on startup – znaczenie opcji spowoduje wyświetlanie podręcznego menu zaraz po uruchomieniu gry.
  • Key configuration – pozwala zmienić domyślną klawiszologię odpowiedzialną za obsługę menu podręcznego wtyczki graficznej.
  • Use FPS Limit – znaczenie opcji spowoduje ograniczenie prędkości emulacji do zadanej wartości, przy czym dodatkowo należy wybrać jeden z dwóch poniższych wariantów.
  • Autodetect FPS – ograniczenie prędkości wyświetlanej grafiki dobierane automatycznie przez emulator z uwagi na lokalizację (PAL / NTSC) danej gry.
  • FPS limit (10-200) – ręczne zdefiniowanie ilości wyświetlanych klatek na sekundę w przedziale od 10 do 200 fps`ów. Domyślnie wartość powinna wynosić 50 dla gier w systemie PAL i 60 dla NTSC.
  • Use Frame skipping – umożliwia automatyczne pomijanie pewnego zakresu klatek animacji w celu zwiększenia prędkości emulatora.

Na pozostałe opcje (Options) konfiguracyjne pluginu składają się:

  • Scanlines mode – tryb przeplotu, czyli znane z TV wyświetlanie co drugiej linii obrazu dostępne w trzech wariantach: „disabled – czyli opcja wyłączona, ”„standard” – dla większości przypadków oraz „double blitting” – dla kart firmy nVidia, które mają problemy z poprzednim trybem.
  • Use system memory – włączenie opcji spowoduje wykorzystywanie pamięci operacyjnej komputera jako bufora karty graficznej, w rezultacie, czego zniknie kilka fps`ów, ale wraz z nimi ulotni się pełnoekranowe filtrowanie na kartach nVidii.
  • Wait vsync – synchronizuje prędkość wyświetlanej grafiki z częstotliwością odświeżania monitora. Opcja może spowodować zwolnienie animacji, ale dokuczliwe smużenie ekranu na pewno zniknie.
  • Stop screen saver – wyłącza wygaszasz ekranu oraz zarządzanie energią w czasie pracy wtyczki. Opcja nie działa pod systemami Win95 i WinNT 4, na których powoduje pad systemu.
  • Debug mode – uaktywnia kilka opcji przydatnych programistom i beta-testerom.

Podobnie jak w większości dostępnych wtyczek wideo również i w P.E.Op.S. Soft Driver występuje sekcja Special game fixes zawierająca „łatki” dla problematycznych gier, a są to.:

  • Odd/even bit hack – umożliwia poprawną obsługę gry Chrono Cross pod ePSXe 1.5.2.
  • Expand screen width – umożliwia wyświetlanie pełnego obrazu w dwuwymiarowych bijatykach ze stajni Capcom`u.
  • Ignore black brightness color – umożliwia poprawną obsługę gry Lunar.
  • Disable coord check – umożliwia poprawną obsługę gier tj.: PAL-owy Tekken 3.
  • Use low-res fps timer – ulepsza współpracę wtyczki ze starymi płytami głównymi.
  • Use PC fps calculation – zwiększa płynność niektórych gier.
  • Lazy screen updates – umożliwia poprawną obsługę gry Pandemonium 2.
  • Use old frame skipping – pomija, co drugą klatkę animacji, co znacząco zwiększa płynność emulacji na słabszych komputerach.
  • Repeated flat tex triangles – umożliwia poprawną obsługę gry Dark Forces.

Kolejnym podobieństwem względem pozostałych wtyczek graficznych jest menu kontekstowe / podręczne za pomocą, którego możemy w trakcie gry zmienić wartości kilku opcji. Do obsługi ów menu służą następujące klawisze:

  • Delete – pokazuje / ukrywa menu kontekstowe.
  • Insert – pokazuje okienko pomocy podręcznej.
  • Home – zmniejsza wartość wybranej opcji.
  • End – zwiększa wartość wybranej opcji.
  • Page Up – przejście do poprzedniej opcji.
  • Page Down – przejście do kolejne opcji.

Oczywiście na powyższych przyciskach dostępna klawiszologia się nie kończy, ponieważ do użytku mamy także następujące skróty klawiszowe:

  • <Alt + Enter> – przełącza emulator pomiędzy pracą w oknie i na pełnym ekranie.
  • <F8> – zapisuje zrzut ekranu do podfolderu „snap” emulatora.
  • <F12> – włącza podgląd stanu pamięci graficznej w trybie debugowania.
  • <-> na klawiaturze numerycznej – synchronizuje prędkość wyświetlanej grafiki z częstotliwością odświeżania monitora.
  • <*> na klawiaturze numerycznej – rozpoczyna / kończy zapis sygnału wideo do pliku AVI.

Skoro już mowa o plikach AVI to warto wspomnieć, że wtyczka P.E.Op.S. Soft Driver jako jedna z niewielu umożliwia bezpośrednie przechwytywanie sygnału wideo do plików AVI. Co więcej po kliknięciu w przycisk „ Recording options […]” dostępnych mamy kilka ciekawych opcji tj.:

  • Standard/Custom Video Size – gdzie możemy zdefiniować rozmiar przechwytywanego obrazu.
  • Frame Rate Scale – gdzie definiujemy szybkość przechwytywania np. przechwyć co 1 / 2 / 3 klatkę.
  • Compresion – gdzie wybieramy głębię kolorów użytą przy przechwytywaniu np. 16 bit.
  • Configure – przycisk, pod którym możemy wybrać i skonfigurować kodek wykorzystywany do przechwytywania sygnału.

Oprócz wszystkich wspomnianych opcji w pluginie mamy do dyspozycji kilka przycisków tj.:

  • Fast / Nice – kliknięcie spowoduje automatyczne skonfigurowanie pluginu zgodnie ze zdefiniowanymi przez autorów ustawieniami.
  • Copy settings to clipboard – bardzo przydatna opcja umożliwiająca skopiowanie wszystkich ustawień pluginu do schowka przez dzięki czemu ich późniejsze wstawienie np. na forum jest banalnie proste i ogranicza się jedynie do wciśnięcia znanej i lubianej :] kombinacji <Ctrl+V>.
  • Oraz standardowe OK i Anuluj, które nie wymagają komentarza.

Na tym zakończę opis wtyczki P.E.Op.S. Soft Driver – mam nadzieję, że dzięki artykułowi przybliżyłem Wam temat obsługi wideo pod ePSXe i kilka pojęć z nim związanych.