Ist es möglich, einen PS2-Emulator über die DVM von Android auszuführen?

Ich habe einige zufällige Beiträge von Leuten in Foren gehört, die behaupteten, dass die Dalvik Virtual Machine von Android mit etwas in der Größenordnung eines PS2-Emulators nicht umgehen kann, wie dieser etwas portierte .

Ist das wahr?

Gibt es offensichtliche Einschränkungen für ein umfangreiches Programm, das unter Dalvik ausgeführt wird, oder für die Arbeitslast der DVM?

Da die offensichtliche Einschränkung die Hardware ist und die meisten Geräte aus genau diesem Grund große Probleme damit haben, gibt es kurz gesagt einen Softwareaspekt , der dies einschränken könnte?

Antworten (2)

Es geht nicht darum, dass Dalvik bestimmte Arten von Programmen nicht ausführen kann, es ist eine Frage der Leistung.

Jedes Laufzeitsystem, das auf nicht-nativem Bytecode basiert (z. B. Dalvik, JVM, .NET CLR), führt zu einem gewissen Performance-Overhead beim Übersetzen des Bytecodes in eine Form, die von der CPU ausgeführt werden kann. Für die meisten Apps ist dies kein Problem, da die meisten Apps relativ wenig CPU-Arbeit leisten und die meiste Zeit damit verbringen, nur auf Eingaben zu warten. Aber ein Emulator ist in der Regel ein CPU-intensives Programm, daher ist es oft besser, es mit nativem Code zu implementieren, der nicht den Aufwand verursacht, auf Dalvik ausgeführt zu werden.

Dalvik begrenzt effektiv die maximale Größe eines Programms in Bezug auf die Anzahl der Java-Klassen und -Methoden, die Sie haben können. Ich kenne keine in Java geschriebenen Emulatoren, also weiß ich nicht, ob sie zu groß wären oder nicht, aber das zeigt einen wichtigeren Punkt: Sie würden sowieso keinen Emulator in Java schreiben.

Die meisten Emulatoren sind in C oder C++ geschrieben, oft mit den entscheidenden Teilen in der Assemblersprache der Host-Plattform für maximale Effizienz in der inneren Schleife. Sie würden dies auf Android genauso tun wie auf jeder anderen Plattform: Android-Apps müssen nicht in Java geschrieben werden. Wenn Sie den Emulator nicht in Java schreiben, spielt es keine Rolle, was Dalvik kann und was nicht. Es gibt also überhaupt keinen Grund, warum Sie keinen PS2-Emulator auf Android haben könnten.