Author archives: MayImilae

Ubershaders: A Ridiculous Solution to an Impossible Problem


When you're playing your favorite game on Dolphin with a powerful computer, things should run fairly well. The game is running full speed, there are no graphical glitches, and you can use your favorite controller if you want. Yet, every time you go to a new area, or load a new effect, there's a very slight but noticeable "stutter." You turn off the framelimiter to check and your computer can run the game at well over full speed. What's going on?

The slowdown when loading new areas, effects, ...

ادامه مطلب

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report - June 2017


June was a month where a lot of important features were merged, but few of them had to do with actual emulation. Every emulator has its own philosophy and goals. While the primary goal is usually to emulate the console at hand, many emulators place secondary goals on various features and ideas. One of Dolphin's secondary goals is to make using the emulator as simple of a process as possible. There are lots of features that try to simplify things, like the Game INI system, support for real ...

ادامه مطلب

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report: May 2017


A project cannot survive for nearly fourteen years without making some difficult decisions. Sometimes you're right, sometimes you're wrong, but, to be successful you have to learn from each and every one. One of the most difficult decisions made for Dolphin was the deprecation and removal of D3D9 despite it being the fastest backend at the time. The promise was that we would take a step back then, and make huge gains in accuracy thanks to being able to use integers throughout VideoCommon.

There was a lot of growing pains, a lot of driver issues, and a lot of unhappy users, but it set the tone for what would become the direction of Dolphin heading up to the version 5.0 release. One of Dolphin 5.0's headline features was a brand new D3D12 backend, but as of 5.0-3774, we have decided to remove it. What we learned from the D3D9 backend helped us make that decision. Like D3D9, D3D12 had some core flaws we let slide under promises that it would continue to be maintained and fixed up. When that didn't happen, it was decided we did not want another deprecated backend hanging around, blocking features and enhancements that require work within each backend.

Let's not make any mistakes, the D3D12 backend was a tremendous gain for Dolphin, and what we were able to learn helped us know what to do when designing the Vulkan backend. Unlike the D3D12 backend, the Vulkan backend is actively maintained and does not have the design flaws that made D3D12 harder to work with. Removing D3D12 support also makes it easier for people to tinker with and compile Dolphin on Windows, along with the added bonus of reduced compile times.

Going forward, we're going to continue to optimize the existing graphics backends. In our testing, the Vulkan backend was as fast as, or nearly as fast as the D3D12 backend in every benchmark. While different drivers and graphics cards will not all perform identically, we're confident that moving forward the Vulkan backend will be able to handle the burden of users seeking the benefits of the newer graphics APIs.

...and that's probably not the biggest removal this month. Dolphin's longstanding JITIL (Just in Time Intermediate Layer) Recompiler was finally decommissioned and removed. It's one of those great ideas that just didn't pan out. It never could match the performance of compatibility of the JIT and it was unmaintained in recent years. To even consider JITIL a part of the future, it would have needed to be rewritten to support both Full MMU support and PIE compliance.

We know that some of you reading this are going to be upset or disappointed by these decisions. Hopefully you stick with us and the future gains we make by handling these potential problems now more than pays for the temporary inconvenience. With that out of the way, we have a lot of great additions to the emulator in this month's Dolphin Regress Progress Report!

ادامه مطلب

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report: April 2017


One of the more difficult parts of being an emulator is balancing accuracy, performance and presentation. When Dolphin replaced the hacky, broken asynchronous audio with the synchronous New AX-HLE and New Zelda-HLE implementations, audio accuracy greatly increased! It came as quite the shock when users started complaining about this change and demanding asynchronous audio's return. Some of the criticisms were valid; there were bugs in early synchronous audio causing increased latency that weren't present in asynchronous audio.

All of these growing pains were eventually fixed, but, one complaint stood out - slowdown affected audio for the first time for a majority of users. This was seen as an unfixable issue. After all, it doesn't make sense for audio to run full speed if nothing else is! The issues were closed and the concern was filed away until users got used to the change.

Long-term, we did learn something from this dilemma. While synchronous audio was undoubtedly better for the project and solved the major emulation issues with audio, it caused a whole bunch of presentation issues we neglected to fix... until now.

This month, we have a lot to offer. Custom texture support gets supercharged, the JIT sees some important maintainability changes, and a smattering of audio changes include a huge presentation change to audio that will help users hear games pleasantly even under slowdown.

ادامه مطلب

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report: March 2017


In case you missed it, we had a special April Fools announcement on our Youtube Channel that blog writer JMC47 retired due to his failed bid to sing well in American Idol on Wii. If you want to catch up on the ridiculousness, the video is still up for all to gaze at in utter confusion.


April Fools 2017 - Retirement


With that out of the way, some delays to get everything ready have given us more time to tighten things up and bulk up what has been a relatively quiet month outside of a few mammoth changes. A group of Wii IOS changes were noteworthy enough to get their own article with the Wii Shop Channel finally getting compatibility in Dolphin. That's right, you can buy games from Nintendo within Dolphin, or, download titles you've purchased on your Wii in Dolphin, assuming you're using that Wii's NAND.

Other than that, the long awaited GPU Texture Decoders finally got merged for a broad performance increases and a new Bounding Box fallback path works on any machine that can run Dolphin. So we hope you can enjoy this breakdown of March's (and a little of April's) notable changes!

ادامه مطلب

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report: February 2017


As most of you know, Dolphin was born a GameCube emulator. A lot of its core design and concepts are based around assumptions made that it would only be a GameCube emulator. And, as a GameCube emulator, Dolphin performs admirably, with the ability to boot every single title and a large portion of the library having no major issues.

But, Dolphin isn't just a GameCube emulator. One of the more incredible things about its history is that it was modified into a Wii emulator around the time it went open source in 2008. While the core of the Wii is a supercharged GameCube, and things like CPU and GPU emulation were fairly easy to modify into working with only some minor details changing, there are a lot of quirks around it that have been problematic. Not only are there emulation challenges associated with the Wii that Dolphin side-stepped with some dirty hacks, it also struggled to add on all of the new features of the Wii. For many years, the Wii Remote, GameCube controllers configuration, and GameCube controller settings were completely split apart because Dolphin's UI was not designed with more than one primary input method in mind!


dolphincontrollers-old.png

UI Design 101: More menus = better.

dolphincontrollers-fixed.png

Putting all of the options in one place looks better and is easier to use.



In terms of actual emulation, the problems mostly come from the Wii's Starlet ARM coprocessor and everything it brings to the table. To give you an idea of how important Starlet and IOS (Internal Operating System) are on Dolphin, it controls features such as disc access, savegames, networking, USB, ES_Launch (aka, booting games,) and other features necessary for the Wii to function.

Last month, we saw a lot of IOS-HLE improvements, resulting in a big uptick in compatibility. But with these accuracy improvements have come some hiccups and regressions as well. When we fixed The Legend of Zelda: Majora's Mask by using proper, reverse-engineered values for some important IOS-related things, it brought out some regressions too.

ادامه مطلب

Dolphin Progress Report: January 2017


Sometimes, it's easy to forget how much work there is left to do on a refined emulator. While the rush of getting a new game to boot or discovering a crazy feature hidden within an obscure gem never gets old, those moments do tend to get further and further apart as accuracy increases. As if to defy fate itself, excitement reigned over the month of January as a plethora of ancient bugs were fixed and many unbootable titles finally saw their day of reckoning come to be!

Among the new recruits are the final Virtual Console game, a massive Wii MMO that installs itself to USB, two games where we're almost certain the developers purposefully put code in to defeat Dolphin, and two channels developed by the remnants of Factor 5.



This is a massive Progress Report, so buckle up and enjoy this month's Notable Changes.

ادامه مطلب

Dolphin Progress Report: December 2016


We have celebrated the 15th anniversary of the GameCube and the 10th anniversary of the Wii in the last few months. As the Wii's successor, and the brand lineage, has been discontinued in the run-up to the release of the Switch, it is a time for reflection. But, this doesn't mean an end for the GameCube and Wii; if anything, it's a new beginning.

This is when emulation and preservation becomes even more important. How many titles in previous generations would have been lost or forgotten if not for emulation? How many of your favorite games were first experienced in an emulator? With Nintendo's NES Classic and Virtual Console lines, it's very likely that the next generation of gamers are going to be more aware of emulation than ever. Favorite games and experiences are not only going to be passed from friend to friend, but across generations. And we here are going to do our best to make sure that not only are those popular games awaiting, but the entire library of highs and lows, knowns and unknowns.

On the note of software that most people probably haven't experienced, we decided to take a look at one of Nintendo's more interesting pack-in titles, The Legend of Zelda: Collector's Edition. Featuring emulation software for both the NES and N64 Zelda games (With A Link to the Past omitted only because they were trying to sell the Game Boy Player,) and a demo of Wind Waker, it's one of the more sought after GameCube games.


The Legend of Zelda: Collector's Edition - A Quick Retrospective


With all of that out of the way, we hope you enjoy this month's notable changes!

ادامه مطلب

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report: November 2016


The biggest news of the month regarding Wii emulation has nothing to do with Dolphin. The vehicle for many of our hardware tests and much, much more, The Homebrew Channel, has gone open source. In its heyday, it was stuffed to the brim with anti-reverse engineering code to prevent nefarious entities from selling the free program. Unfortunately, some of those tricks were also designed to prevent Dolphin from running it. This isn't due to a dislike of Dolphin; in recent years, we've even been tipped off to what we'd need to do to get past the anti-Dolphin checks.

ادامه مطلب

You can continue the discussion in the forum thread of this article.

Dolphin Progress Report: October 2016


This month, we have a few very important things to go over before we get to our notable changes, so let's dig right into that.


NVIDIA Vulkan Support Update

Users may remember that we recommended using older versions of the NVIDIA drivers when using Vulkan. Well, this is no longer required as once NVIDIA was aware of the bug, they fixed it in a few minutes and the fix was rolled out in driver version 375.63. Users can now use the latest ...

ادامه مطلب

You can continue the discussion in the forum thread of this article.

  • Page 1 of 6
  • 1
  • 2
  • 3
  • 6