Tag archives: Graphics

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!

Continue reading

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

Pixel Processing Problems: On the Road to Pixel Perfection

The old name was better



The GameCube GPU is a complex, tight-knit piece of hardware with impressive features for its time. It is so powerful and so flexible, it was used unmodified within the Wii architecture. For a comparison, just imagine a SNES running with an NES's graphics system. This is completely unheard of, before or since. The GameCube is a remarkable achievement of hardware engineering! With its impressive capabilities, emulating the GameCube's GPU has been one of the most challenging tasks Dolphin has ever faced.

As well as …

Continue reading

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

Hacked Up: The Vertex Streaming Hack

Update: There is an issue with the Nvidia drivers that kept buffer storage from being utilized properly on Windows: they do not report the driver version. Since the Linux version of the driver reports its version correctly, the Dolphin devs assumed that the nvidia drivers would report it and used a version check to make sure ARB_buffer_storage was only utilized on drivers that actually support it. Because of this issue, even the latest drivers that support the function failed the version check and Dolphin didn't use buffer_storage on Windows. And thanks to an unrelated bug discovered later, the lack of buffer_storage wasn't detected in the initial testing. As of 4.0-722 the version check was removed and buffer storage is confirmed to be working correctly.

Unfortunately, that version check was there for a reason. Some driver versions tell Dolphin that they support buffer_storage, but actually don't. Any user caught in that situation will encounter a blackscreen. If you do, update your drivers.



One of the constant struggles in modern emulation is the battle between performance and accuracy. Throughout Dolphin's history, developers have added various tricks to get more performance out of computers - one of them being the Vertex Streaming Hack, formerly known as Hacked Buffer Upload. It drastically improves OpenGL performance on Nvidia GPUs. However, as of 4.0-615, the Vertex Streaming Hack has been removed from Dolphin.

Continue reading

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

D3D9: Why It's Not a Part of Dolphin's Future

As many people have noticed, revision 4.0-155 removed D3D9 as a video backend, leaving D3D11 and OpenGL as the sole hardware backends in Dolphin. For the longest time, D3D9 was considered Dolphin’s fastest backend and was a favorite of Windows users. But then, why would it be removed?

While it was enjoyed by users, it was a source of endless frustration for the developers. D3D9 is inherently flawed, and working around its problems wasted time and slowed development. With D3D9 removed, the developers can focus their effort on making the emulator better instead of pandering to the ever growing demands of a flawed backend. This is why the D3D9 backend was removed.

D3D9: Inherently Flawed

Dolphin's D3D9 backend was mostly known for its speed. On AMD and Integrated Graphics cards, it is by far the fastest backend. But Direct3D9 is very old; it was released in 2002! Its age means that many modern features are simply not available for it, features that Dolphin needs for GameCube and Wii emulation. And that's where its speed came from. The D3D9 backend was as fast as it was because it simply didn't emulate certain effects. All kinds of modern functions are simply not possible in D3D9.

Continue reading

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