Warum benötigen emulierte Spiele (auf dem Handy) so viel Leistung?

5 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Viele Emulatoren bringen sogar einen Highend GamerPC an die Grenzen der Leistungsfähigkeit! Besonders die Emulatoren für für neuere Konsolen als WII/PS2 schlagen richtig zu.

Das Problem bei Emulation ist das jeder Befehl einer Konsole im Emulator nachgebildet werden muss. Man kann auch die Befehle eine Konsole nicht einfach 1:1 in PC-Befehle übersetzen . Viele Konsolen besitzen eine völlig andere Hardwarestruktur (breitere Datenbusse / Hilfsprozessoren /getrennte Befehls- und Datenbusse etc. pp.)

Wenn der PC nicht über diese spezielle Hardware verfügt, müssen Abläufe , welche in der Konsole eines Befehls bedürfen, mit Hunderten Befehlen simuliert werden (meine Faustregel war immer: ein Konsolentakt benötigt 17 PC-Takte--- das bedeutet für die 300MHz der PS2 braucht es 2 PC-Kerne a 2700MHz) .

Der PC hat einen Busbreite von 64 Bit um die 128 Bit (und mehr) Datenbreite der meisten Konsolen zu verarbeiten muss ein Datenpaket geteilt und nacheinander verarbeitet werden. Das ist ein riesiger Aufwand. Aber auch die XBox, welche eine modifizierte x86-CPU verfügte war eine der härtesten Nüsse die es je im Bereich der Emulation gab. (daran sind ganze Generationen von Programmierern zerschellt). Dann kommt es Natürlich auch auf das zu emulierende Spiel an.

FFVII (7) Dirge of Cerberus, Valkyrie Profile 2: Silmeria oder das Intro von FinalFantasy X-2 zwingt sogar einen Ryzen 5 in die Knie, weil diese dermaßen Tricky programmiert wurden, dass es kaum sinnvolle HLE-analogien gibt und der Emu wirklich nur plump PS2-Befehl für PS2-Befehl abarbeiten kann. (Die PS2 war ohnehin ein Meisterwerk der Ingeneurskunst und weit mehr als die Summe ihrer Teile.) Ich habe vor 10 Jahren mal einen Artikel dazu verfasst: https://www.spieleforum.de/threads/357970-einige-grundlegende-worte-zur-ps2-emulation-pcsx2-0-9-6. Immerhin hat es noch niemand geschaft erfolgreich die PS2 auf einem ARM-Prozessor zu emulieren... (es gibt keinen PS2-Emu für's Smartphone!)

Neuere Konsolen sind noch weit anspruchsvoller als die gute alte PS2. Immerhin profitieren die Neuen Emus von der Portierbarkeit moderner Programmiersprachen und -Bibliotheken. Nichtsdestotrotz bleibt die 1:17-Regel auch für diese bestehen...

Dabei simulieren nur sehr wenige Emulatoren wie Xebra jeden einzelnen Hardware-Prozess einzeln (LLE). Die meisten gängigen Emus sind HLEs . Diese arbeiten nicht mit einzelnen Hardwarebefehlen, sondern auf Basis dessen was bei bestimmten Konsolen-Abläufen am Ende auf dem Zielsystem herauskommen soll. (ungefähr... denn vieles was der Emu ausgibt ist dem Quellsystem nur seeeeeehr ähnlich)

Ein LLE wie Xebra stellt selbst für einen 4 GHZ Gamerrechner ein Problem dar (und die PS1 hatte nur 33MHz)

Das ganze im Einzelnen hier zu erörtern , würde den Ramen sprengen.

MyOldBoy , SNes9xEX &Co Sind relativ Anspruchslos... ePSXe , Mupen64, PPSSPP laufen auf durchschnittlichen Handys einigermaßen und auf Premiumgeräten recht flott. Drastic ist dabei etwas besonderes, er emuliert nicht die DS-Hardware sondern jagt alle ARM-Befehle des DS direkt zum Handyprozessor...

Citra (wie auch DeSmuE Android) hat das Problem , das er für den PC entwickelt wurde und die Portierung zum Handy nicht berücksichtigt, das viele Befehle garnicht auf dem Handy emuliert werden müssten..., stattdessen emuliert Citra auf einem ARMprozessor einen ARMprozessor. Im Prinzip müsste ein 3DS-Emu für Android komplett neu programmiert werden... und nicht nur portiert... aber wer soll das machen?

Warum benötigt das Emulieren so viel Leistung

weil du nochmal eine zusätzliche Ebene darüber bauen musst, die die ganze Architektur kopiert und alles emuliert - und das am besten fehlerfrei, damit alles wie auf der Konsole wiedergegeben wird ...

Wie kann es dann sein, dass das neueste und teuerste High-End Phone aus dem Hause Samsung damit überfordert ist

weil es weiterhin ein Smartphone ist und die Leistung nicht besonders hoch ...

Woher ich das weiß:Hobby – Leidenschaftlicher Gamer. Steam-Nutzer seit 2011.

Ich spiele derzeit recht viel mit Emulatoren. Das Problem bei Citra wird am Emulator selbst liegen, nicht am Smartphone. Citra funktioniert auch auf meinem Rechner nicht. Wegen diesem Dolphin, siehe die anderen Antworten.

Auf meinem iPad (Pro 2018) laufen sogar manche Wii-Spiele in 4k

Also das geht eigentlich voll von der Leistung her, finde ich

Woher ich das weiß:Hobby – Im Alter von 4 schon Games gezockt

Emulieren bedeutet, dass man ein fremdes Betriebssystem auf dem eigenen Beriebssystem simulieren muss. Das braucht meist mehr Rechenleisung als das Game, welches laufen soll.

Woher ich das weiß:Berufserfahrung – Jahrzehnte IT Erfahrung, Experte für Kryptowährungen, 🐱

BatmanTDK 
Beitragsersteller
 25.04.2020, 20:18

Im grunde muss doch die komplette Hardware auf Software ebene "nachgeahmt" werden, oder?

1