Der Dolphin Update-Report für Juli 2014

    • Wii-Homebrew

      Der Dolphin Update-Report für Juli 2014



      Den meisten Nutzern eines Programmes ist es eigentlich ziemlich egal, was im inneren eines Programmes vorgeht. Die meisten Codeverbesserungen machen es zwar den Entwicklern leichter und verbessern langsam auch den Emulator, aber am Ende merkt der Nutzer meistens nichts mehr von den Optimierungen. Und wieder vergang ein kompletter Monat, ohne dass jemand etwas von den Neuerungen gemerkt hat, obwohl da eigentlich auch paar sehr interessante Themen dabei sind. Aber in dem niemals aufhörendem Fluss von Codeverbesserungen, sind auch paar wahre Schätze dabei: Leistungsverbesserungen, große Bugfixes und neue Funktionionen, von denen so mancher nicht mal geträumt hätte.

      Neuerungen für den Juli 2014


      Im vergangenen Monat wurde ein Bugfix veröffentlicht, welcher extreme Performanceeinbrüche auf älteren NVIDIA-Grafikkarten behoben hat. Die Lösung: Eine total unnötige Funktionion namens "Coherent Mapping" stand im weg. Nachdem diese Funktion deaktiviert wurde, gab es keine Probleme mit aktuellen NVIDIA-Karten und wie man sich schon denken kann, waren die Performaceeinbrüche auf den älteren Grafikkarten behoben. Die Entwickler dachten, dass sie nun in einer sogenannten "Win - Win" Situation steckten, was sich aber später dann doch als falsch herausgestellt hatte.

      Da niemand von den Entwicklern aber lust hatte, dass mit einer AMD-Grafikkarte zu testen, stellte sich erst nachher heraus, dass es auf diesen Karten danach Performaceeinbußen von bis zu 30% gab. Und da natürlich niemand lust hat, extra Code für die jeweiligen Grafikkarten zu schreiben, haben Sonicadvance1 und degasus nach einer Lösung gesucht, die alle Grafikkarten glücklich machen soll.

      Am Ende stellte sich heraus, dass die Fixierte-Speichererweiterung (Pinned Memory) der AMD-GPUs die Lösung ist. Das Ergebnis: Da diese Fixierte-Speichererweiterung bei AMD-GPUs sogar schneller als der Pufferspeicher ist, hat man nicht nur die Performanceeinbrüche behoben, sondern man hat auch gleich einen Geschwindigkeitsboost von bis zu 8% ermittelt!

      Während der "DTK-Audiofix" zwar viele Bugs behoben hat, hat er leider auch einen richtig nervigen wieder in das System gebracht. Anscheinend haben nämlich die Nutzer bei den Spielen ein leichtes Knistern gehört, welches besonders bei Tönen mit hohen Frequenzen auftritt.

      Am Ende stellte es sich heraus, dass der DSP und DVD-Mixer ein paar Probleme hatten, welche aber nun wieder mit einem kleinen Bugfix behoben wurden.

      Fehler behoben: 7463


      Memory Cards werden natürlich auch mit dem Dolphin-Emulator emuliert. Hauptsache man kann sein Spiel speichern und wieder fortsetzten. Und was macht man, wenn die emulierte MemoryCard voll ist? Man macht eine Kopie der alten Datei und erstellt eine neue. Alles klappt natürlich perfekt, bis auf wieder ein Spiel, und das ist auch noch The Legend of Zelda: The Wind Waker! Naja, zumindest die Japanische Version. Und obwohl das Spiel so extrem bekannt ist und sich so viele Leute damit beschäftigen, hat man mehr als vier Jahre Jahre gebraucht, um dafür eine Lösung zu finden.



      Der Newcomer TotalNerd hatte mal eine Zeit lang seine eigene Repository. Eine der Erweiterungen, wo er bei sich eingebaut hat, hat einfach nur dafür gesorgt, dass Dolphin sich etwas mehr Zeit beim Speichern auf der Memory Card lässt. Und anscheinend war das auch die Lösung für das Problem!

      Als TotalNerd das erfuhr, packte ihn die Motivation und er hat eine verbesserte Version dieses Bugfixes erstellt, welche sogar noch bei vielen anderen Spielen verschiedene Speicherprobleme behoben hat!

      Kleiner Tipp zum Spaß: Diese Fehler können auch auf einer echten Konsole auftreten, wenn ihr zum speichern eine Max Drive (Pro) MemoryCard nutzt. Diese Karten sind anscheinend teilweise zu schnell für manche Spiele!

      Fehler behoben: 2284
      Manchmal gibt es Neuerungen, die einem auf dem ersten Blick nur wenig bringen. Dieses mal geht es und den D3D-Exklusiven Vollbildmodus. Die meisten Leute würden jetzt denken: "Wow. Ein Vollbildmodus. Gab es den nicht schon?" Im Grunde genommen, ja. Nur etwas schlechter als den "Exklusiven Vollbildmodus". Dieser erneuerte Vollbildmodus soll einem ein besseres Spielerlebnis bringen, als der alte Vollbildmodus. Sonst wäre er ja auch nicht so exklusiv. Diese Verbesserungen soll der neue Vollbildmodus bringen:
      • Reduzierte Input-Latenzen: Da man den Video-Output von Dolphin nun besser kontrollieren kann, können Latenzen auf ein minimum reduziert werden, was man besonders in Reaktionsschnellen Spielen wie F-Zero GX oder Super Smash Bros. Melee merkt.
      • Weniger GPU-Auslastung: Einfach so jedes einzelne Bild auf dem Bildschirm darstellen zu lassen verbraucht weniger Leistung, als wenn man das Spiel in einem extra Fenster spielt. So haben Leute mit schwachen GPUs nun einen kleinen Performanceschub.
      • Flüssigeres Bild: Jeder hasst es, wenn ein Spiel mit voller Geschwindigkeit läuft und trotzdem leicht am ruckeln ist. Durch den angepassten Vollbildmodus kann Dolphin nun z.B. verschiedene Fenster-Manager umgehen, was dafür sorgt, dass weniger Einzelbilder vom Spiel verworfen werden. Die Vorraussetzung: Dolphin benötigt dafür Vertical Sync (VSync).
      Damit man besser erklären kann, was mit "Flüssigerem Bild" gemeint ist, zeige ich euch auch ein kleines Beispiel. Es zeigt eine Spielszene von "Mega Man X", welches in der "Mega Man X Collection" enthalten ist. Wer in diesem SNES-Spiel von einem Gegner getroffen wird, fängt an zu blinken. In diesem Moment schaltet das Spiel für jeden frame die Textur an oder aus. Kurz gesagt: Im ersten Frame ist die Textur zu sehen, im zweiten dann wiederrum nicht mehr und das wiederholt sich, bis der Effekt aufhört. Hier nun das Beispiel:

      Ohne "Exclusive Fullscreen" verliert das Spiel auch bei voller Geschwindigkeit manche Einzelbilder aus dem Spiel.

      Wenn alles richtig dargestellt wird, sieht das schon etwas mehr wie das Original aus.


















      Wenn man die ganzen Verbesserungen im einzelnen Betrachtet, ist das nichts besonderes. Aber wer alles zusammen zählt, merkt dass das Spielerlebnis nun viel besser wie vorher ist. Und das beste an allem, was oben erwähnt wurde? Diese Neuerungen betreffen alle Spiele!

      Aber das war noch nicht alles. Das was jetzt oben erwähnt wurde, waren nur Verbesserungen...
      • Erneuter Support für 3D-Bildschirme: Vor langer Zeit, als Dolphin noch D3D9 unterstützte, gab es einen 3D-Modus. Das Problem? Auf manchen PCs läuft dieser ganz normal, auf manchen läuft er gar nicht. Ein weiteres Problem war, dass man diesen 3D-Modus nur in kombination mit NVIDIA 3D Vision nutzen konnte. Und nun? Der "Exklusive Vollbildmodus" unterstützt nun von Haus aus einen 3D-Modus, ohne unnötigen Code dafür einzubauen. Und das allerbeste daran? Der neue 3D-Modus ist nicht nur auf 3D Vidion begrenzt: Ein ähnliches System namens "Tri-Def" wurde sogar schon als kompatibel eigestuft, und das ist noch lange nicht alles...

      Ein wichtiger Hinweis: Wie der Name "D3D-Exklusiver Vollbildmodus" schon sagt, benötigt man Direct3D, welches natürlich nur auf Windows-Systemen verfügbar ist. Momentan wird aber schon an der Unterstützung für andere Betriebssysteme geforscht, damit auch Nutzer mit anderen Systemen die selben Vorteile bekommen.

      Fehler behoben: 3979, 4726, 4732, 5990, 6713, 7334


      Das "DTK Audio-Rewrite" hat zwar viele Probleme behoben, aber da man auch vieles aus dem Code entfernen musste, spielte die Musik in manchen Spielen verrückt. Ein Beispiel ist Tony Hawks Pro Skater 4, wo manchmal die falschen lieder abgespielt wurden oder die Musik ganz aus blieb.

      Der Entwickler "booto" wollte dies nicht länger akzeptieren, so hat er nach einer Lösung für das Problem gesucht. Es war zwar viel arbeit, aber es hat sich gelohnt: Nicht nur die Fehler wurden behoben, es wurden anscheinend auch Spiele repariert, in welchen die Musik für lange Zeit gar nicht funktioniert hat! Beispiel: Pacman Fever.

      Fehler behoben: 7445

      Und dann, ein Tag bevor die Dolphin-Entwickler ihren Update-Report veröffentlichten, passierten zwei Dinge, die alles veränderten...



      PPC_FP war ein großer Fix für die CPU-Emulation, welcher die Kompatibilität mit den Spielen im Emulator massenhaft erhöht hat. Aber leider hat das älteren Prozessoren ohne SSE4.1 (sehr frühe Versionen vom Intel Core2Duo oder den Phenom II CPUS) nicht gut getan. Das Ergebnis: Die Spiele waren voll mit Bugs.

      PPCFP-jediacademy_thumb.jpg

      Da ist doch irendwas falsch...



      Fehler behoben: 7150und 7237


      4.0-2350 - PowerPC Flag-Optimierungenvon delroth, magumagu und Sonicadvance1

      Das jetzt so zu erklären, sodass es möglichst viele verstehen, ist extrem schwer. Aber bei diesen Optimierungen handelt es sich um Verbesserungen an der PowerPC-Emulation von Dolphin, was in einem kleinem Geschwindigkeitsschub endet.



      Wer in der Technik und der Englischen Sprache mächtig ist, kann sich auch delroths Kommentar dazu durchlesen, in welchem alles erklärt wird:

      delroth schrieb:

      While X86 architectures have a similar concept of flags [to the PowerPC], it is very difficult to access the FLAGS register directly to translate its value to an equivalent PowerPC value. With the current Dolphin implementation, updating a PPC CR register requires CPU branching, which has a few performance issues: it uses space in the BTB, and in the worst case (!GT, !LT, EQ) requires 2 branches not taken.

      After some brainstorming on IRC about how this could be improved, calc84maniac figured out a neat trick that makes common CR operations way more efficient to JIT on 64 bit X86 architectures. It relies on emulating each CRn bitfield with a 64 bit register internally, whose value is the result of the operation from which flags are updated, sign extended to 64 bits. Then, checking if a CR bit is set can be done in the following way:

      * EQ is set iff LOWER_32_BITS(cr_64b_val) == 0
      * GT is set iff (s64)cr_64b_val > 0
      * LT is set iff bit 62 of cr_64b_val is set


      Alternative Nutzung von Dolphin: "Tool Assisted Superplays"


      Während die meisten Nutzer den Emulator ganz normal zum spielen der Spiele verwenden, gibt es auch noch ein weiteres Einsatzgebiet, wo Dolphin gut bekannt ist: "Tools Assisted Superplays" und "Speedruns".

      Die Leute von TASVideoshaben genau das auf den Punkt gebracht und gezeigt, wie weit man damit im Spiel kommen kann, wenn man verschieden Features wie Savestates, Frae by Frame, Slow-Motion usw. nutzt.



      Vielen Dank an:

      zhuowei
      RachelBryk
      lioncash
      tilka
      Sonicadvance1
      degasus
      workhorsy
      Armada651
      delroth
      sigmabeta
      neobrain
      phire
      LPFaint99
      magcius
      booto
      TotalNerd
      shuffle2
      moshekaplan
      RisingFog
      Shadoxfix
      magumagu
      Fioraund
      Parlane
      ...dafür, dass ihr Dolphin von Version 4.0-1997 bis 4.0-2354 begleitet habt!

      Diese News ist © by christian8246q und darf weder komplett, noch in Auszügen kopiert werden. Lediglich verlinken ist erlaubt.

      Da manche Sachen wirklich extrem schwer zu erklären sind, empfehle ich euch, auch in der Quelle dieser News vorbeizuschauen.

      Der Dolphin Update-Report für Juli 2014

      christian8246q - - 0 Kommentare

      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!





      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 ()

      @feeder du kannst nur auf der news seite selber bewerten


      Horsti12 DER-Wolkenhändler

      Last Christmas


      eN-t schrieb:

      Ganz ungeachtet dessen sollte das auch als Spaß zu verstehen sein - wenn man daran denkt, was manche Benutzer für Posts verfassen, wenn sie irgendwelche Probleme haben... "Hilfe, mein Wii-Controller ist kaputt und stinkt nach Feuer" - "was hast du denn gemacht?" - "die Batterien waren alle, da habe ich ein 230 Volt Kabel an die Kontakte gelötet und in die Steckdose gesteckt" :haha:

      Sorry for Offtopic, back to topic 8-)


      Tock schrieb:

      Jemanden hier in unserem Dorf ist mal das Haus abgebrannt... Seit dem Tag schlafe ich nur noch unter der Brücke damit mir das nicht passiert!


      Yoshi9288 schrieb:

      Hmm, mein 3DS fällt immernoch vom Tisch und das troz der vielen Stabilitätsupdates. Also Nintendo, das kann es doch echt nicht sein, der 3DS müsste nun normalerweise Bombenfest auf dem Tisch kleben.