Der Dolphin Update-Report für August 2014

  • vWii-Homebrew

    Der Dolphin Update-Report für August 2014




    Der Update-Report für diesen Monat ist voller CPU-Optimierungen, da die Entwicklerin "FionaAeterna" sich dazu entschieden hatte, den JIT-Code zu beschleunigen. Und die Bestie hat wirklich kräftig zugeschlagen: Seit Ende Juli hat man in der Dolphin-Benchmark einen Performanceboost von 26% gemessen! Nein, das ist kein Schreibfehler! Aber auch an der Genauigkeit der Emulation hat sich was getan: Es wurden wieder Bugs gefixt, welche schon seit den Anfangszeiten von Dolphin bestehen...


    Änderungen für den August 2014:


    4.0-2368, 4.0-2386 und 4.0-2547- Audiofehler behoben von booto

    Bei einer frühen Version eines Emulators, ist der Spielesound nur eine Nebensache. Als erstes kümmert man sich um die korrekte Emulation und Darstellung, danach kommt alles andere. So war es auch bei Dolphin, sodass der Spielesound vorerst weg blieb. Inzwischen ist Dolphin mehr als 10 Jahre alt, und unterstützt in fast jedem Spiel auch Ton.

    Als durch den sogenannten "DTK-Audiofix" im letzten Monat Paar kleine Bugs in den Emulator kamen, wollte der Entwickler "booto" diese unbedingt beheben. Als er sie behoben hat, waren diese Bugs weg, und natürlich gab es auch einen positiven Nebeneffekt: Zum ersten mal in der Geschichte von Dolphin hat "Pokémon Snap (VC)" keinen Tonausfall und bei "Harvest Moon: Magical Melody" spielt der Sound auch endlich mit der richtigen Geschwindigkeit!


    Note: This video will be loaded from YouTube, which causes some data, including but not limited to your IP, User Agent and Referrer, to be sent to YouTube servers. For more information see the Privacy Policy. By pressing the "play" button you automatically enable embedding YouTube videos for the future.


    Hinweis: Dieses Video wird von YouTube geladen. Dabei werden einige Daten, unter anderem Ihre IP, Ihr User Agent und der Referrer an YouTube-Server gesendet. Für weitere Details lesen Sie bitte die Datenschutzerklärung. Wenn Sie den Play-Button anklicken, erlauben Sie damit automatisch das Einbinden von YouTube-Videos für die Zukunft.



    Das Ergebnis von booto ist also ein riesiger Haufen voller Fehlerbehebungen. Es war zwar nicht leicht, da öfters mal auch kleinere Probleme aufgetreten sind, aber die Arbeit hat sich gelohnt.

    Fehler behoben: 7045, 7121, 7170 und 7545


    Manchmal verhalten sich Spiele so schräg bei der Emulation, dass sogar die Entwickler nicht mehr weiter wissen. Es wusste z.B. niemand, dass manche Spiele Zugriff auf die GQR-Bits (Graphic Quantization Register) haben. Kurz gesagt: Eine wichtige Funktion im Spiel wurde knallhart ignoriert und es sind Fehler aufgetreten.


    dirt2broken_thumb.jpg

    Die Textur von der Straße ist viel zu hell!

    dirt2working_thumb.jpg

    So sollte es laufen!




    Beispiele: In "Dirt 2" und "Are You Smarter Than a 5th Grader?" waren manche Texturen viel zu hell und bei "Turok: Evolution", "Vexx" und "XIII" ist Dolphin gleich komplett abgeschmiert. Man konte es davor zwar auch umgehen (Volle MMU-Emulation) aber das hat ziemlich viel Performance gefressen.

    Fehler behoben: 3249, 7073 und 7506


    Der Vertex-Loader von Dolphin war schon schrecklich veraltet. Er wurde, so simpel wie es auch klingt, neu geschrieben und es wurde eine Cache-Unterstützung hinzugefügt, was in Vertex-basierenden Spielen wie "Super Mario Galaxy" und "The Last Story" einen Performanceboost von bis zu 20% gebracht hat!


    Vor einer sehr langen Zeit war OpenGL mehr auf die Genauigkeit, als auf Geschwindigkeit ausgelegt, was sich aber mit dem "GLSL-Rewrite" gendert hat. Jetzt hatte OpenGL nicht nur die bessere Spiele-Kompatibilität, sondern war auch fast so schnell die D3D. Heutzutage ist OpenGL und D3D fast gleich auf, immerhin teilen sie sich viele Sachen aus den Code, seit dem "VideoCommon-Rewrite". Und wieso erzähle ich euch das? Weil OpenGL einen kaputten Code von D3D9 übernommen hatte. Kurz gesagt: Bei OpenGL wollten die sogenannten Matrix-Schatten nicht funktionieren!

    KScorp, ein Newcomer in dieser Szene, hat die Fehler mit einem Schwung behoben. Immerhin sind die Matrix-Schatten wichtig, da sie z.B. in vielen bekannten Spielen, wie "The Legend of Zelda: The Skyward Sword", "Luigis Mansion" und "Metroid Prime" verwendet werden.


    skywardbroken_thumb.jpg

    Der einzige Weg, um diese Fehler zu umgehen, war EFB2RAM aktivieren, was extrem viel Leistung gekostet hatte.

    skywardworking_thumb.jpg

    Und nun funktioniert es auch ohne EFB2RAM.



    MarioGalaxy2FogBroken_thumb.jpg

    Der Nebel in Super Mario Galaxy spielt verrückt. Selbst die Option "Nebel deaktivieren" in Dolphin konnte nichts ausrichten!

    MarioGalaxy2FogFixed_thumb.jpg

    Und nun funktioniert alles, wie es funktionieren sollte.




    Fehler behoben: 5070, 6424, 6771, 7007, 7123


    Viele Nutzer hatten ein kleines Problem: Wenn man bei Gamecube-Spielen die Memory-Card, statt den GCI-Ordnern nutzt, hängt sich Dolphin beim schließen auf. Es ist zwar nur ein relativ kleiner Bug, aber da anscheinend viele Leute das Problem hatten, musste dieser Bug so schnell wie möglich gefixt werden.


    Als der "PPC_Analyzer Rewrite" von Sonicadvance endlich abgeschlossen war, hat er sich gefreut. Einfach kompiliert und hat sich direkt um was anderes gekümmert. Es war alles perfekt, bis auf eine Funktion namens "num_instructions". Die ist zwar voll funktionsfähig, aber wurde nirgendswo im ganzen Code abgerufen! Dieser Fix bringt einen kleinen Performanceschub in mehr CPU-basierten Spielen, wie Virtual Console Spielen.


    Anscheinend wird jeden oder jeden zweiten Monat eine alte Komponente des Emulators über Bord geschmissen. Nach langer überlegung hat man sich entschlossen, die DSound-Unterstützung zu entfernen. Das neuere XAudio2 funktioniert so wie es soll, und sogar noch besser. Der einzige Vorteil von DSound wäre die native Unterstützung von Windows XP, aber das ist ja seit der Entfernung von D3D9 eher egal geworden.


    4.0-2726 - PPC_FP Optimiertvon FioraAeterna

    Fiora findet immer irgendwelchen kreativen Ideen, um den JIT-Code zu optimieren. Dieses mal, hat sie sich an PPC_FP gesetzt. Diese änderung bewirkt, dass Nicht-Gleitkommazahlen nicht mehr beschädigt werden, wenn sie durch einen Gleitkommazahlen-Register gehen. Das hat zwar bei manchen Spielen viel Leistung gezogen, aber inzwischen ist wieder alles im Lot, da Fiora herausgefunden hat, dass es gerade mal 0.01% der Nicht-Gleitkommazahlen betrifft. Durch einen kleinen Bugfix wurde nun aber Genaugkeit und Geschwindigtkeit verbessert!




    Im Update-Report für den Juni 2014 habe ich euch ein Videogezeigt, welches euch zeigt, dass die Physikberechnung in Spielen wie Mario Kart noch nicht ganz perfekt ist und dadurch Replay-Files von einer echten Wii nicht in Dolphin nutzbar sind. Durch magumagus neuer Gleitkommazahl-Implementation funktionierte es zwar, aber dafür hat es einen furchtbaren Performance-Einbruch in fast jedem Spiel gegeben, obwohl nicht mal 99% aller Spiele eine solche Genauigkeit bei der Physikberechnung benötigen.

    "JIT-Magierin" Fiora hat aber wieder alles zurecht gebogen, was sie aber ohne magumagus "SoftFP" nicht geschafft hätte. Es ist also nun möglich, Replays-Daten einer echten Wii zu nehmen und sie zu emulieren, ohne irgendwelche Desyncs zu verursachen. In paar Spielen wurde das sogar schon bestätigt, wie den klassikern "Mario Kart Wii", Super Smash Bros Brawl" und "F-Zero GX".


    Note: This video will be loaded from YouTube, which causes some data, including but not limited to your IP, User Agent and Referrer, to be sent to YouTube servers. For more information see the Privacy Policy. By pressing the "play" button you automatically enable embedding YouTube videos for the future.


    Hinweis: Dieses Video wird von YouTube geladen. Dabei werden einige Daten, unter anderem Ihre IP, Ihr User Agent und der Referrer an YouTube-Server gesendet. Für weitere Details lesen Sie bitte die Datenschutzerklärung. Wenn Sie den Play-Button anklicken, erlauben Sie damit automatisch das Einbinden von YouTube-Videos für die Zukunft.



    Beachtet, dass diese Veränderung aber momentan nur bei x86-64 JIT implementiert sind. Oder besser gesagt: Nutzer von der Android-Version von Dolphin müssen noch lange warten.

    Fehler behoben: 3122 und 4241




    FPRF (Floating-Point Result Flag) ist eine Funktion, welche nur sehr selten in Spielen verwendet wird. Und genau weil diese Funktion so selten verwendet wird, hatten sich die Entwickler entschlossen, alle FPRF-Befehle an den Interpreter weiter zu geben. In den meisten Spielen/Engines läuft das ohne Probleme, bis auf eine Ausnahme: Die Engine von der "Super Monkey Ball-Serie" und von F-Zero GX basiert so stark auf FPRF, dass das Spiel einen Unglaublichen Performanceeinruch erleidet.



    Diese Grafik zeigt euch einen ungefähren Unterschied zwischen FPRF-Aus (Was ist den meisten Spielen zu abstürzen führen würde), FPRF-Interpreter (Total langsam) und FPRF-JIT (Der eigentliche Bugfix). Die Benchmark zeigt deutlich den Unterschied zwischen dem Interpreter und dem neuen FPRF-Code im JIT, da "POVRay" (Die verwendete Benchmark) größtenteils auf Gleitkommaoperationen (Floating-Point Operations) basiert.

    Auch wenn FPRF einen großen Speedup bewirkt hat, wird es (noch) keine Standarteinstellung. Oder besser gesagt: Wenn ihr mit einem bestimmten Spiel Probleme habt, die nicht im Interpreter auftreten, öffnet mal die Game-INI von diesem Spiel und setzt "EnableFPRF=true" in diese Datei rein.


    Das Speichern dauert bei Dolphin 570ms im Durchschnitt, und dass merkt man auch deutlich. Comex hat sich aber entschieden, die PointerWrap funktion zu verbessern, welche zum Speichern verwendet wird. Das Ergebnis? Es dauert jetzt nur noch ungefähr 17ms (etwas mehr als ein Frame) zum speichern, was vorallem die TAS-Speedrunner freuen wird.


    Der Mann hinter der Maschine

    Momentan läuft fast alle wie geschmiert. Dolphin gewint nicht nur langsam an Geschwindigkeit, sondern auch an Kompatibilität. Es sind zwar viele große Sachen von bekannten Entwicklern eingebaut worden, aber es gibt da jemanden, der sich auch mit den kleinen Sachen einen Namen macht. Er hat in der letzten Zeit immer den Titel für die meisten Commits auf Github für Dolphin bekommen, denn bei über 100 im Monatist das kein Wunder! Natürlich ist damit "Lioncash" gemeint!

    Jedes Open-Source Projekt bräuchte einen eigenen kleinen Lioncash. Denn seine gewealtige Anzahl an Commits betreffen den kompletten Emulator, einmal verbessert er die GPU-Emulation oder den Sound oder räumt mal den Code auf, was das Arbeiten für alle anderen um einiges erleichtert. Inzwischen ist der der auf Platz 5 der aktivsten Coder der Dolphin-Geschichte, und das, obwohl er erst seit Frühjahr 2013 am Emulator arbeitet! (Bedenkt, Dolphin gibt es schon mehr als 10 Jahre!)

    Ohne ihn, wäre alles viel schwerer. Das Areiten am Code wäre ohne ihn einfach grausam. Und zwar so grausam, dass die Entwickler den Emulator irgendwann im Stich gelassen hätten. Wenn er mal nicht an Dolphin Arbeitet, moderiert er die Commits von anderen Nutzern auf Github, damit auch diese alle dem Standart entsprechen, um im Dolphin-Code aufgenommen zu werden.

    Deswegen, danke an Lioncash, und mal hoffen dass auch er es mit einer besonderen Änderung in den Update-Report schafft!


    ...dafür, dass ihr Dolphin von Version 4.0-2356 bis 4.0-2824 begleitet habt!

    Diese News ist © by christian8246q und darf ohne Erlaubnis weder kopiert noch Zitiert werden. Lediglich eine Verlinkung ist erlaubt.

    Vegetarier sind viel grausamer als gedacht. Ein Schwein kann wenigstens wegrennen, aber ein Salat?!? :D :P

    Kein Support per PN! Wir sind in einem Forum, und ein Forum lebt aus Fragen und Antworten.
    Was auch wichtig ist: Immer auf die Rechtschreibung achten!


    Note: This video will be loaded from YouTube, which causes some data, including but not limited to your IP, User Agent and Referrer, to be sent to YouTube servers. For more information see the Privacy Policy. By pressing the "play" button you automatically enable embedding YouTube videos for the future.


    Hinweis: Dieses Video wird von YouTube geladen. Dabei werden einige Daten, unter anderem Ihre IP, Ihr User Agent und der Referrer an YouTube-Server gesendet. Für weitere Details lesen Sie bitte die Datenschutzerklärung. Wenn Sie den Play-Button anklicken, erlauben Sie damit automatisch das Einbinden von YouTube-Videos für die Zukunft.




    Wer mir und sich selbst 500mb gratis-Speicher schenken will, kann sich ja unter diesem >Link<unter Dropbox registrieren ;)

    Wii Konsole mit Firmware 4.1
    Mit Internet
    Zwei Gamecube-Controller
    2 Wii Fernbedienungen, von denen eine kaputt ist (ich frag mich immer noch wie das möglich ist...)
    Gemoddet nach den Regeln des ALTEN UHGs, aufgefrischt mit dem IOS-Update im neuen UHG.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von christian8246q ()

    Ja. Der Dolphin-Emulator ist ein Wii & Gamecube Emulator.
    Vegetarier sind viel grausamer als gedacht. Ein Schwein kann wenigstens wegrennen, aber ein Salat?!? :D :P

    Kein Support per PN! Wir sind in einem Forum, und ein Forum lebt aus Fragen und Antworten.
    Was auch wichtig ist: Immer auf die Rechtschreibung achten!


    Note: This video will be loaded from YouTube, which causes some data, including but not limited to your IP, User Agent and Referrer, to be sent to YouTube servers. For more information see the Privacy Policy. By pressing the "play" button you automatically enable embedding YouTube videos for the future.


    Hinweis: Dieses Video wird von YouTube geladen. Dabei werden einige Daten, unter anderem Ihre IP, Ihr User Agent und der Referrer an YouTube-Server gesendet. Für weitere Details lesen Sie bitte die Datenschutzerklärung. Wenn Sie den Play-Button anklicken, erlauben Sie damit automatisch das Einbinden von YouTube-Videos für die Zukunft.




    Wer mir und sich selbst 500mb gratis-Speicher schenken will, kann sich ja unter diesem >Link<unter Dropbox registrieren ;)

    Wii Konsole mit Firmware 4.1
    Mit Internet
    Zwei Gamecube-Controller
    2 Wii Fernbedienungen, von denen eine kaputt ist (ich frag mich immer noch wie das möglich ist...)
    Gemoddet nach den Regeln des ALTEN UHGs, aufgefrischt mit dem IOS-Update im neuen UHG.

    Nimm einfach die aktuellste alle änderungen sind da drin.

    :peach:
    Mainbord: Asus X370-Pro Sockel AM4
    CPU: AMD Ryzen 5 3600 6x 4,2Ghz
    CPU Kühler: Cooler Master Hyper 212 Evo
    RAM: 16GB DDR4 2400Mhz Crucial Ballistix Sport
    Grafikkarte: Zotac Nvidia Geforce GTX1070 AMP Extreme Edition!


    :peach:
    Asus ROG Strix Hero II
    Core i7 8750H
    16GB DDR4 RAM
    512GB SSD
    Geforce RTX 2060 6GB


    Switch:
    Nintendo Switch Neon Blau/Rot
    Firmware: 5.0.1

    Wii U:
    Wii U Premium 32 GB
    Firmware: 5.5.2E
    Wii U: Haxchi
    vWii: HBC 1.1.2, d2x cIOS

    Wii:
    Nintendo Wii Weiß (Release)
    Firmware: 4.3E, boot2v2
    cIOS: d2x cIOSv8, Hermes cIOS 5.1 MOD
    Bootmii: Bootmii@boot2
    Homebrew Channel 1.1.2 mit selbst erstellten Peach Theme
    Priiloader: Priiloader HDE

    Gamecube:
    1x Lila, 1x Schwarz
    Breitband Adapter

    N64:
    Rumble Pak

    SNES:
    RGB Kabel Mod

    SNES Mini:
    Hakchi2

    GB, GBC:
    Original GB
    Original GBC

    GBA:
    EZFlash IV

    NDS, DSi:
    Supercard DSTWO

    DSi XL:
    Firmware 1.4.2
    HiyaCFW


    Haupt 3DS:
    New Nintendo 3DS XL SNES Edition
    Firmware: 11.8.0-41E mit 11.4.0 NATIVE_FIRM
    Exploit: boot9strap v1.3
    Homebrew Launcher Exploit: Homebrew Launcher Loader
    Flashkarte: Supercard DSTWO, Sky3DS+ (Wird selten benutzt)
    Custom Firmware: Luma3DS 9.1

    JAP 3DS:
    New Nintendo 3DS LL Metallic Black
    Firmware: 11.7.0-40J
    Custom Firmware: Luma3DS 9.1
    Exploit: boot9strap 1.2

    Peach 3DS:
    Nintendo 3DS Coral Pink Princess Peach Edition (Limited Edition)
    Firmware: 11.7.0-40E
    Exploit: boot9strap 1.2
    Besonderheiten: Limited Edition (1000 Stück Weltweit)


    PS1:
    Modchip

    Playstation 2:
    PS2 Slim
    Free McBoot

    PlaystationTV:
    Firmware: 3.65
    Exploit: HenkakuEnso CFW, Whitelist Hack
    PSP Modus: Adrenaline CFW

    Playstation 3
    PS3 Slim
    Firmware: 4.82
    Coustom Firmware: 4.82 Cobra Ferrox v1.01


    250GB HDD
    UnleashX Dashboard


    Phat 120 GB HDD
    LT+ 3.0 Laufwerksflash

    Dolphin ist doch in der aktuellen Stable 4.0.2 schon der Hamma ^^ aber wenns noch besser wird ... omg dann bin ich frisch verliebt ....
    Tutorials & more: youtube.com/user/BestNoob4ever

    My Nintendo Wii Friend Codes. Add me ! =)
    Spoiler anzeigen
    If your Game is from another Region than PAL use the FC Converter wiimmfi.de/fc-converter
    Mario Kart Wii: 1636-7202-6022
    Mario Sports Mix: 1208-5926-4942
    Mario Strikers CF: 5288-8115-7562
    Super Smash Bros Brawl: 4084-8527-3507
    Die Stable 4.0.2 liegt knapp 3700-4000 Versionen zur letzten DevBuild zurück ;)
    Vegetarier sind viel grausamer als gedacht. Ein Schwein kann wenigstens wegrennen, aber ein Salat?!? :D :P

    Kein Support per PN! Wir sind in einem Forum, und ein Forum lebt aus Fragen und Antworten.
    Was auch wichtig ist: Immer auf die Rechtschreibung achten!


    Note: This video will be loaded from YouTube, which causes some data, including but not limited to your IP, User Agent and Referrer, to be sent to YouTube servers. For more information see the Privacy Policy. By pressing the "play" button you automatically enable embedding YouTube videos for the future.


    Hinweis: Dieses Video wird von YouTube geladen. Dabei werden einige Daten, unter anderem Ihre IP, Ihr User Agent und der Referrer an YouTube-Server gesendet. Für weitere Details lesen Sie bitte die Datenschutzerklärung. Wenn Sie den Play-Button anklicken, erlauben Sie damit automatisch das Einbinden von YouTube-Videos für die Zukunft.




    Wer mir und sich selbst 500mb gratis-Speicher schenken will, kann sich ja unter diesem >Link<unter Dropbox registrieren ;)

    Wii Konsole mit Firmware 4.1
    Mit Internet
    Zwei Gamecube-Controller
    2 Wii Fernbedienungen, von denen eine kaputt ist (ich frag mich immer noch wie das möglich ist...)
    Gemoddet nach den Regeln des ALTEN UHGs, aufgefrischt mit dem IOS-Update im neuen UHG.