12/01/22

Emulácia a 5GHz budúcnosť

Nádhernú Final Fantasy 6 /SNES/ v nemodifikovanej podobe odohrajete mimo originálnej konzoly bez problémov pod  emuláciou na starom Pentium 133+Mhz /ZNES, SNES9x emulátor/ alebo aspoň s jedno jadrovým Intel na 3000Mhz /Higan emulátor/. Obe emulátory zobrazia hru korektne, rozdiel nespoznáte. Ten prvý však tu emuláciu skôr odhaduje a je tam more interných "hackov", skratiek ak chcete. Ten druhý ide na pixel, bit a tak presne. Je to mimoriadne výpočetne náročná simulácia HW s perfektnou 100% kompatibilitou. Ak na SNES potrebujete toľko výkonu, tak je jasné, že PS2 by chcela celé Google datacentrum, opak je však pravdou a to nám zákonite hovorí, že tá emulácia má zjavne ďaleko do dokonalosti.

Zelda /N64/ už pre svoju emuláciu okrem dobrého CPU potrebuje aj nejaké lepšie GPU, lebo tej rasterizácie je tam trochu viac, než je zdravé a rasterizácia 3D hry iba na CPU je olovená guľa na nohe vo farbách sovietskej vlajky. Ultra-HLE N64 emulátor si však vystačí s Pentium na aspoň 300Mhz a s nejakou Voodoo 1 k tomu. Banálne nároky. Viem, lebo som to na podobnej zostave prešiel. Asi vám došlo, že tá emulácia bude tiež stáť za starú bačkoru. HLE znamená - "high level emulation". Čo neznámená "high-end" kód, ale naopak ďalšie množstvo odporných hackov, aby to vôbec bežalo. Síce drasticky znižujú nároky na HW vášho PC, ale kompatibilita je biedna a výskyt grafických, zvukových glitchov zas masívny. Na perfektný N64 emulátor triedy Higan asi ešte nejakú dekádu nebudeme mať dosť výkonné PC.

Emulátory sú vo všeobecnosti kriticky náročné hlavne na beh jedno-vláknového kódu na CPU. Viacvlaknový kód chce tri vysoké školy, nie prácu amatérov vo voľnom čase. Excelentné CPU je teda základ emulácie. Nesmierne vysokotaktované CPU. Presne toto potrebujeme. Preto sa mi veľmi hodí posledná séria Intel CPU, ktorá to už vie potiahnúť cez 5GHz a najnovšie info z AMD hovorí, ako to ich pripravovaný Zen 4 dokáže tiež na všetkých jadrách. Turbo na jednom, dvoch jadrách pôjde určite ešte vyššie. O vodné chladenie a 200 watt na čipe nemám inak záujem. Skutočne rýchle procáky by mohli byť vo vyššom hernom mainstreame bežné do 18 mesiacov. S jásotom teda ohlasujem renesanciu emulácie /s GPU nie je problém už dávno/. Stará hra + emulátor v jednom RAR = po rozbaleni jeden exe súbor. Kliknem a hrajem /takto to funguje aj pri novom 8 bitovom ZX Spectrum Next, ani neviete, že nejde o natívnu PC aplikáciu /. Výkon by sme teda nejako zohnali, čo s kvalitou emulačného kódu ?

Napriek tomu, že emulujem kdečo ako blázon už niekoľko desaťročí, tak som sa vyhýbal emulácii Dreamcastu, PS2, Gamecube alebo PS3 práve z dôvodu príšernej kvality emulácie a extra nárokov na CPU /pred súčasnou sociálnou i7 na 4.2Ghz som mal 1.8Ghz AMD/. Hru pod emulátorom a emulátor vôbec akceptujem iba vtedy, ak je tá hra audiovizuaálne prakticky bezchybná /rovnaká ako na originále/ a nastavenia emulátora nie je nekonečná onania, aby som z neho tú kvalitu aj dostal. Pod emuláciou rozhodne nehrajem technicky "dohrateľné" hry, ale s množstvom nedokonalostí vyplývajúcich zo slabej kvality emulátora a teda blikanie, zlá alfa, poruchy textúrovania, úplne chybajúce gfx efekty, tiež rapkajúce audio, trhané FMV, pomalý CD prístup, jalové pamäťovky. Čo je aj príklad PCSX2 /emulátor PS2/, ktorý neustále sledujem a stále pod ním aj preto nič nehrajem.

viac ako 6 rokov čítam žiadosť smerom na dev tím, aby s Burnoutom zjednali nápravu

Pod PS2 emuláciou v tzv. akcelerovanom HW režime má GTA: SA problém s grafikou, takže niektoré dekály sú ružové. V celom meste teda behajú "špinavé" ružové taxíky. V Silent Hille blbne baterka a tiene. Burnout prišiel o reflexie a skybox. Obloha bez oblakov má farbu buď delostreleckej šedej alebo vnútra čiernej diery a tieto stavy trvajú aj viac ako 6 rokov. Na každú hru potrebujete extra individualizované nastavenia krvopotne zistené nejakým dobrákom a fungujúce prevažne iba na jeho konkrétnej zostave. GUI emulátora je sadomaso a neráta s tým, že hry nebežia pod jedným defaultným nastavením. Proste RPG hra s hrozným manažmentom inventára, tak to tam vyzerá.

Našťastie sa pri PCSX2 ľady trochu pohli, došlo ku generačnej výmene v dev tíme. Jeden z toho starého bol po 2 rokoch práce s PCSX2 emulátorom následne sedem rokov zamestnaný v SONY a makal ďalej na emulácií PS2 na PS4ke. Po novom sa snažia amatéri zmeniť emuláciu viac na low-level, teda skutočné pochopenie, ako to ta PS2 vlastne robí. A PS2 to robí svinsky inak a aj banálne operácie, ako je alfa blending na rasterizačných jednotiek je obskúrna Ken Kutaragi vec, ktorú HW moderných GPU nepozná a v shader kóde pod OpenGL to nie je dosť rýchle. Pomáhajú však aj borci z iných projektov /Duckstation emulátor pre PS1/ a do PCSX2 pribudla čerstvo aj podpora pre Vulkan API, čo okrem navýšenia počtu snímkov za sekundu, ako vo videu nižšie, rieši aj veľa problémov so shader kódom pod doteraz menej schopným OGL.

 
keď nové Vulkan API funguje, tak funguje skutočne dobre

Paralelne s prácami na PS1 a PS2 postupuje slušne aj PS3 emulácia a vidím zreteľne čas, keď sa v jednom kontajneri ocitne funkčný a naboostovaný triplet týchto emulátorov. Internet vám funguje, ISO kópie hier sa naučíte hľadať a sťahovať a všetko v pokoji domova v 4-8K/60 potom zahrajete. Ako dostať PC do obývačky riešiť nebudem. A nejde ani o návod na porušenie autorských práv. SONY stále nevie/nechce doručiť "fire and forget" emuláciu PS1-PS2-PS3 pod PS5 spolu s podporou pre zvýšenie rozlíšenia hier, Quick save, Rewind a ďalšiu stovku "quality od life" vecičiek bežných pod emuláciou. Ja síce PS5 nemám, ale keby som ju mal, tak nemám problém cinknúť zopár denárov za staré hry. SONY však roky hovorí iba o množstve prekážok, problémov a celkovej nechuti také niečo urobiť. Tož potom vitaj 5Ghz+ rýchlosť. Pre dnešné, nové hry je to samozrejme úplne zbytočné ale pre emuláciu vitálne dôležité.

8 comments:

  1. Když jsem naposled ze srandy procházel nabídku CPU na Alze, tak jsem se přesně díval na jednovláknový výkon (aka GHz), neb vždy přemýšlím emulátorově a nikdy jinak. Naprosto to vyhrál Intel. Nejenže nabízel lepší skóre na jedno jádro, ale hlavně to bylo podstatně levnější. Teď ale nebude nejlepší doba na kupování CPU bych řekl. Je to hodně omezené.

    ReplyDelete
    Replies
    1. ... dnes sa otvorene hovori, ze skladat teraz PC je ekonomicka samovrazda ale to sa behom 2-3 rokov vyriesi a ako hovoris .. singel thread vykon sledujem kvoli emulacii .. moderne hry to maju u rite .. 8 jadro, 12 jadro, 16 jadro .. 4 alebo 5Ghz .. to nehraje ziadnu rolu.

      ... sunka smejd XSS diktuje ako vyzera moderna hra.

      Delete
  2. Ještě by mě zajímalo jak se to dělá s 20 let starými hrami na nových konzolích. Např. původní Halo se nechá v pohodě pouštět na nových Xboxech, s lepším framerate a on-the-fly přepínáním grafiky legacy/remastered.... Naprostý luxus. Jak moc jde o emulaci nevím... Je dost možné že jen používají data z originálu a render engine mají napsaný nanovo...

    ReplyDelete
    Replies
    1. ... odpoved je VM, virtual machine .. preto to ma xbox s BC ako to ma a preto to sony nema ako MS.

      Delete
    2. Nechápu. Jakože Xbox si pouští "virtual machine" pro spuštění Halo? To těžko ta hra vyšla nanovo... ne původní hra.

      Delete
    3. ... nie VM pre legacy veci .. tvoje HALO su 2 hry v jednej, najskor novy engine adaptovany pre dvojicu roznych datasetov.

      Delete
  3. Až se budeš nudit zkus mi spustit na svém CPU MAME hry z Irem M62 (Kung Fu Master, Spelunker, Lode Runner...). Je to klasická ukázka jak dokonalá emulace do hloubky zničí provozuschopnost her na mnohých "slabších CPU". Co tam před lety zavedli nějaké emulace audio části HW tak např. můj notebookový Celeron/Atom to nově dává tak na 45%, na staré verzi driveru to letí přes 700%!!! A rozdíl samozřejmě nepozná nikdo... Někdy se i vyplatí kompilovat 15 let staré MAME zdrojáky než sahat po nejnovější verzi...

    ReplyDelete

**** pre vloženie hypertextového odkazu do komentára použi CSS kód: hyperlink ****