1. #1

    Registriert seit
    15.02.2013
    Beiträge
    93
    Thanked 1 Time in 1 Post

    Standard Warum dauert die Programmierung eines Emulators so lang?

    Hi ich wollte mal fragen:
    Warum zur Hölle dauern die Emulatoren so lange? Ich bin kein Experte darum wende ich mich an euch aber soweit ich weiß ist Windows und XBox360 vom System her doch relativ ähnlich ist ja schließlich von der gleichen Firma und wird oft... meistens... vielleicht sogar immer auf der gleichen Entwicklungsumgebung gemacht. Warum ist es dann so schwer nen Emulator zu finden?
    Wo genau liegt denn das Problem was ist so schwierig daran? also müsste ich nen Emulator schreiben (was ich natürlich nicht kann) ... Roms enthalten Skripte, Objekte, Modelle etc diese muss man eigentlich nur lesen und umsetzen es ist ja nicht so als müsste man ein ganz anderes Spiele-System verstehen lernen.
    man muss die in dem Ordner enthaltenen Objekte und Modelle darstellen und skripte umsetzen ich kann mir zwar vorstellen dass das etwas dauert um es allgemeingültig zu machen aber die Konsolen sind so alt dass inzwischen schon neuere raus sind.

    Und beim 3DS versteh ich es noch weniger denn das ist im Grunde das gleiche wie DS nur mit dieser krüppeligen 3D-Funktion von der ich Augenschmerzen bekomme und trotzdem nicht wirklich 3D sehe ^-^

    Und dann noch ne kleine Frage: Würde es nicht enorm viel schneller gehen wenn man keinen allgemeingültigen Emulator zu schreiben sondern direkt die Spiele selbst in ein spielbares Format zu bringen? Ich hab mal ein Naruto PS3 Game gesehen dass zwar halt PS3 war aber auf PC spielbar war ohne Emulator.

    ^-^ bin wissbegierig

  2. #2

    Registriert seit
    20.12.2011
    Beiträge
    1.062
    Thanked 437 Times in 316 Posts

    Standard AW: XBox 360, PS3, 3DS, etc...

    Beim Emulator wird die verbaute Hardware simuliert... Das ist ein riesen Haufen an Arbeit und kann nicht mal eben umgesetzt werden. Problematischer wirds, wenn die Hardware eine andere Architektur nutzt. Sowas macht es dann teilweise komplett unmöglich es zu emulieren.

    Ich möchte dich freundlich darauf hinweisen, einfach mal die Suchfunktion von Google zu nutzen.

    Emulator – Wikipedia


    MfG
    Geändert von Silidor (15.02.2015 um 16:34 Uhr)

  3. The Following User Says Thank You to Silidor For This Useful Post:

    colasuchti (16.02.2015)

  4. #3

    Registriert seit
    15.02.2013
    Beiträge
    93
    Thanked 1 Time in 1 Post

    Standard AW: XBox 360, PS3, 3DS, etc...

    Nee ich wende mich lieber an Leute die Ahnung haben ^-^ Wikipedia hat 50 Seiten und führt auf 49 davon dinge aus die ich garnich wissen will und erklärt das was ich wissen will garnicht oder nur so dass es nur ein professor versteht >.>
    na egal
    Na dann stellich doch mal andere Fragen würde es schneller gehen wenn die Typen nicht etwas vorhandenes Emulieren würden sondern... wie sollich sagen... Etwas "Neues" machen dass das ding abspielen kann? Sie müssen ja die Konsole nicht 1-1 nachbilden es reicht ja wenn die Spiele laufen.
    Und meine 2. Frage die ich schonmal oben gestellt habe: Würde es schneller gehen wenn sie direkt die Spiele in ein spielbares Format konvertieren würden? Wie gesagt ich hab das mal bei Naruto gesehen.

  5. #4

    Registriert seit
    26.01.2013
    Beiträge
    238
    Thanked 87 Times in 65 Posts

    Standard AW: XBox 360, PS3, 3DS, etc...

    Naja Emulatoren sind ein sehr großes Fachgebiet und weil du meintest das du wissbegierig bist, würde ich dir empfehlen selbst zu recherchieren. Einen Emulator zu erklären, dafür reicht ein simpler Foren-Post nicht aus, dazu sind deine Fragen zu allgemein gehalten. Wenn man sich erstmal ein wenig mit der Materie auseinandersetzt, dann kommt einem auch nicht mehr alles zu kompliziert vor.

  6. #5

    Registriert seit
    15.02.2013
    Beiträge
    93
    Thanked 1 Time in 1 Post

    Standard AW: XBox 360, PS3, 3DS, etc...

    ich raffs nicht >.< zu allgemein ich hab ja oder nein fragen gestellt >.< ich wollte nur wissen ob es schneller geht die hardware zu simulieren oder einfach nur das spiel spielbar zu machen oder ob das am ende aufs gleiche rausläuft?

    und dann habich gefragt was schneller geht einzelne spiele zu konvertieren damit mans nicht allgemein für alle machen muss oder eben doch allgemein was ist schneller?

  7. #6

    Registriert seit
    17.09.2012
    Beiträge
    1.865
    Thanked 384 Times in 258 Posts

    Standard AW: Warum dauert die Programmierung eines Emulators so lang?

    Wie willst du etwas konvertieren wenn du nicht den original Quellcode hast ?
    Also muss das Spiel komplett neu programmiert werden was pro game dann ca 2-4 Jahre dauert. Dann lieber 10 Jahre auf einen Emulator warten der dann alles abspielen kann (glaube das War bisher eine realistische zeit) wenn mann bedenkt das er ca 3x soviel Leistung wie das zu emulierende System brauch

    Ob es schneller geht etwas neues zu entwickeln? Was denkst du was ein Emulator ist ? Microsoft legt sicher nicht sein ganzes System offen und opensurce ist es auch nicht


    Schneller geht es sich das System einfach zu kaufen was allerdings bei ns64 und Gameboy wenig sinnvoll wäre deswegen gibt es Emulatoren . (Allerdings finde ich mann sollte die alten spiele mal remaken für Android und ios die waren damals zum Vergleich mit den spielen im playstore ja noch echte Hits
    Geändert von Chrissy (16.02.2015 um 14:22 Uhr)

  8. The Following 2 Users Say Thank You to Chrissy For This Useful Post:

    colasuchti (16.02.2015), Dr. Bastardo (16.02.2015)

  9. #7

    Registriert seit
    16.12.2012
    Beiträge
    575
    Thanked 1.043 Times in 727 Posts

    Standard AW: Warum dauert die Programmierung eines Emulators so lang?

    1. Arbeite mal bitte an deinem Satzbau und der Zeichensetzung, damit man deine Texte besser lesen kann.
    Muss nicht unbedingt perfekt sein, aber zumindest besser als jetzt.

    2. Du sagst du bist wissbegierig, bist aber gleichzeitig zu faul dir einen (wie ich finde) recht kurzen Text durchzulesen und ggf. Fremdwörter nachzuschlagen,
    sondern lässt dir die Informationen lieber von anderen auf dem Silbertablett liefern. (Klingt nicht wirklich wissbegierig )


    3. Wie Silidor bereits erwähnt hat, wird bei einem KonsolenEmulator die in der realen Konsole verbaute Hardware emuliert,
    da in so einer Konsole nun mal nicht gerade wenig Hardware steckt, und es zum Teil auch nicht wirklich leicht ist diese zu emulieren,
    dauert die Programmierung eines solchen Emulators halt meist recht lange (wenn überhaupt möglich).

    4. Klar enthalten Roms die Scripte, Modelle etc, aber diese liegen in einem für die Konsole lesbaren/ausführbaren Code vor,
    bringen dir so auf dem PC also erstmal nichts.

    5. Nintendo DS und Nintendo 3DS unterscheiden sich weitaus stärker als du anscheinend glaubst ----> Man kann nicht einfach einen DS Emulator auf einen 3DS umschreiben, da andere Hardware verwendet wurde etc.

    6. Ein einziges Konsolenspiel extra für PC umzuprogrammieren etc ist nicht so leicht wie du dir wahrscheinlich vorstellst, und ist ebenfalls mit einem enorm hohen Zeitaufwand verbunden,
    solang man kein riesiges Team hierfür zur Verfügung hat.

    7. Windows und xBox 360 sehr ähnlich? Träum weiter. Sie sind es nämlich nicht, schon alleine aus dem Grund dass Windows ein reines Betriebssystem ist,
    und die xBox 360 eine komplette Spielekonsole Inkl. Betriebssystem etc. Desweiteren unterscheiden sie sich schon allein durch die verwendeten Prozessor-Architekturen.

  10. The Following User Says Thank You to colasuchti For This Useful Post:

    Darkfield (16.02.2015)

  11. #8

    Registriert seit
    02.01.2013
    Beiträge
    879
    Thanked 458 Times in 313 Posts

    Standard AW: Warum dauert die Programmierung eines Emulators so lang?

    Für viel nützlicher als sich zu informieren, was ein Emulator genau ist, hielte ich in diesem Fall, sich zu informieren, wie Computer überhaupt funktionieren... d.h. aus welchen Komponenten sie bestehen, und wie diese Komponenten im Detail funktionieren, d.h. was sie genau machen usw. Dann versteht man auch ganz nebenbei, was die Schwierigkeit dabei ist, einen Emulator zu bauen.

    Daß Spiele lediglich aus "Skripten, Objekten und Modellen" bestehen, stimmt auch so nicht. Zum einen gibt es etwa "Modelle" überhaupt nur in 3D-Spielen, und "Skripte" auch bei weitem nicht in allen Spielen. Was mit "Objekten" gemeint ist, weiß ich jetzt nicht, aber wenn es Objekte von objektorientierten Sprachen sein sollen, so gibt es die nur, wenn auch objektorientierte Sprachen eingesetzt wurden bei der Programmierung. Das ist inzwischen allerdings wohl bei allen neuen Spielen der Fall. Ich kenne aber noch Zeiten, als Spiele in C oder in Assembler programmiert waren, und da gab es überhaupt keine Objekte. Neben "Skripten, Objekten und Modellen" gibt es aber noch eine ganze Menge anderen Code (plus Daten), der auch notwendig ist für das Spiel.

    Man muß unterscheiden zwischen einem "emulieren" und einem "umsetzen". Was Du schilderst, was einfach sein soll, mag für das "umsetzen" gelten... d.h. der Sourcecode ist vorhanden, sowie alle Daten, zu denen 2D-Grafik, 3D-Grafik (3D-Modelle, Texturen), eventuelle Skripte, Musikdateien usw. gehören, so kann man versuchen, dies auf einer anderen Plattform zu kompilieren. Das braucht natürlich auch Anpassungen, und es hängt von der ursprünglichen Programmierung ab, ob diese Anpassungen groß oder klein sind. So kann man beim Programmieren eines Spiels versuchen, alle plattformabhängigen Dinge zu isolieren. Dann muß man bei einer Umsetzung auf eine andere Plattform nur diese plattformabhängige Schicht ersetzen bzw. für die andere Plattform neu programmieren. Es kann aber auch sein, daß diese plattformabhängigen Dinge über das ganze Spiel verstreut sind. Dann wird das Umsetzen zum Albtraum, weil man praktisch jeden Code dazu anfassen muß.

    Eine Emulation ist aber etwas ganz anderes. In der Emulation muß das Spiel unverändert auf einer anderen Plattform funktionieren. Dazu muß es auf der Plattform die andere Plattform VORTÄUSCHEN... und zwar 100%IG! 99%-ig reicht da nicht, das kann schon zum Absturz führen. D.h. beim Emulieren kommt es weniger darauf an, was das Spiel macht, sondern es kommt darauf an, wie Plattform 1 und wie Plattform 2 funktonieren, was die Unterschiede sind... also evtl. anderer Prozessor, andere Grafikhardware, andere Soundhardware, andere Controller/Keyboard/Maus-Hardware, andere Wifi/LAN-Hardware, andere Memoryhardware usw. usf. D.h. wenn z.B. ein Spiel auf bestimmten Treibern aufsetzt, die die Hardware bedienen, so sind diese Treiber natürlich auf der anderen Plattform mit der anderen Hardware nicht vorhanden, sondern da gibt es ganz andere Treiber. D.h. der Emulator muß auch noch die Treiber der anderen Hardware simulieren.

    Was du mit "die Spiele selbst in ein spielbares Format bringen" meinst (wenn ich es richtig verstanden habe), ist etwas, was manche Emulatoren auch (aus Geschwindigkeitsgründen) machen, wenn es sich um unterschiedliche Prozessoren handelt. Dann wird nicht der Code für Prozessor A on the fly jedesmal, wenn er ausgeführt wird, auf Prozessor B emuliert, sondern er wird einmal vom Emulator übersetzt in nativen Prozessor-B-Code, um dann immer wieder so ausgeführt werden zu können. Es ist eine Art Kompilieren, aber eben nicht aus Sourcecode, sondern mit Binärcode (des anderen Prozessors) als Input. Aber auch das ist nicht ganz einfach, sondern eine Wissenschaft für sich. Und damit ist nur der Prozessor emuliert, und nicht auch schon der ganze Rest (OS mit Treibern für die andere Hardware).

    Ein Emulator zu programmieren ist also ein Heidenaufwand... wenn er aber die andere Hardware 100%-ig abbildet, hat er einen großen Vorteil... es läuft die gesamte Software des anderen Systems auf ihm!

    Noch was: Eines der Hauptprobleme bei der Emulation ist das Timing. Jedes Computersystem hat ein bestimmtes Zeitverhalten, etwa bei den sogenannten "Interrupts". Wenn die andere Hardware, auf der der Emulator laufen soll, sehr viel leistungsfähiger und schneller ist, dann kann man dieses Zeitverhalten vielleicht "emulieren". Ist diese andere Hardware aber nicht schnell genug, sodaß ein bestimmtes Zeitverhalten der Original-Rechnersysteme nachgebildet werden kann, dann ist eine 100%-ige Emulation nicht möglich. Es ist dann die Frage, ob ein Spiel das bestimmte Zeitverhalten erwartet, und einfach nicht funktioniert, wenn es das nicht vorfindet. Dann läuft dieses Spiel auf dem Emulator nicht einfach nur langsamer, sondern vielleicht auch gar nicht.
    Geändert von freulein (16.02.2015 um 17:16 Uhr)

  12. The Following 5 Users Say Thank You to freulein For This Useful Post:

    colasuchti (16.02.2015), Darkfield (16.02.2015), rVs14 (16.02.2015), Sky.NET (16.02.2015), xOneDirectionx (17.02.2015)

  13. #9
    Avatar von Darkfield
    Registriert seit
    24.04.2013
    Beiträge
    3.046
    Thanked 1.779 Times in 1.268 Posts

    Standard AW: Warum dauert die Programmierung eines Emulators so lang?

    Und da @freulein uns das erschöpfend erklärt hat - Danke dafür -
    setze ich einen Schlusspunkt für diesen Thread.
    Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren. (Benjamin Franklin)
    Die zwei häufigsten Elemente im Universum sind Wasserstoff und Blödheit. (Yonathan Simcha Bamberger)
    Wer schweigt, stimmt nicht immer zu. Er hat nur manchmal keine Lust mit Idioten zu diskutieren. (Albert Einstein)
    Der Weg zur Hölle ist mit guten Vorsätzen gepflastert. (Dante)
    Es gibt Besserwisser, die niemals begreifen, dass man recht haben und ein Idiot sein kann. (Martin Kessel)
    Doofheit ist keine Entschuldigung.

Ähnliche Themen

  1. Antworten: 11
    Letzter Beitrag: 27.05.2016, 19:55
  2. Wie lange dauert ein Praktikum?
    Von Dose im Forum Bildung
    Antworten: 15
    Letzter Beitrag: 23.04.2014, 10:08
  3. Wenn man jemand Anzeigt wie lange dauert es bis zur Post?
    Von MaskuL1n im Forum Recht- und Verbraucherschutz
    Antworten: 1
    Letzter Beitrag: 04.08.2012, 19:26
  4. Antworten: 11
    Letzter Beitrag: 12.01.2012, 20:40
  5. Fukushima Abriss dauert 40 Jahre
    Von Scotch im Forum RealLife News
    Antworten: 13
    Letzter Beitrag: 01.01.2012, 19:51

Stichworte

Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.