Dolphin, the GameCube and Wii emulator - Forums

Full Version: Dolphin ishiiruka (Custom) vs Dolphin Official
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Which is the best to use in terms of performance?
Performance should be same (because Ishiiruka merges master from time to time), but this unofficial build has "unique" future which will not wait for shader cache (so there will/or shouldn't be no stuttering).
One disadvantage is that if You have game issue with ishiiruka than You should post it in it's forum thread, because it's not supported by Dolphin devs.
The official builds will provide better performance and more bug fixes (many devs>one) but ishiiruka has specific uses
Ishiiruka has better support for old hardware.

the async shader thing is debatable, but yes it does that.
Quote:Ishiiruka has a number of unique features, like:

* stutter-free (async) shader compilation
* Direct3D post-processing shaders (including SSAO and DoF)
* a downsampling filter for the Direct3D backend
* better support for old hardware
* it doesn't include the GPU thread power-saving patch (PR #2172) that slows down things on certain hardware [see the performance regression thread]
The difference between Master and Ishiiruka is mainly philosophical. Around 3.5, the devs choose to start cleaning up Dolphin and doing things the right way, avoiding hacks. Tino still prefers to hack around problems and support older things (like D3D9 cards), so Ishiiruka was born.

Async Shader Compilation is a great example of that. Right now Dolphin has a significant shader compilation lag time. The Dolphin devs knew about using async shader compilation to get around it, and rejected it, noting that it renders black while compiling the shader and wanting a better way: ubershaders (coming soon eventually Tongue ). Tino on the other hand, went on ahead and implemented async shader compilation, problems and all, in order to do what it could in the meantime to address the issue.

Sure async shader compilation doesn't fix the issue of shader generation lag, but why not just implement the workaround in Dolphin in the meantime? That's part of the philosophical difference too! After years of working in Dolphin, the devs realized that implementing hacks delays the finding of a proper solution, sometimes by as long as years! It has been proven time and time again in Dolphin's history that an effective workaround means there is less interest or reason to fix the bug properly! So even knowing async shader compilation is available, the devs have rejected it so they can implement a proper fix. Think of it as a short term loss long term gain type thing?

Anyway, that's the real difference. So Dolphin Master is shedding support for ancient hardware in order to focus on speed and accuracy (and some snazzy new enhancements), and has seen great gains because of it. Meanwhile Ishiiruka is focusing on hacks and niche features, while utilizing as much of the speed and accuracy from mainline dolphin as it can. It's a good situation, really, if you are frustrated that Dolphin isn't doing something or removed something, an informed user can use Ishiiruka. And that's great! Eventually time or development will take care of the things Ishiiruka was made for, and those things will become irrelevant. In the meantime, informed users have a choice.

Note that all of those Ishiiruka additions have caveats, however. D3D9 cannot and will never have accurate emulation and it is not as fast as OpenGL or D3D11 in Master. Async shader compilation renders black when it is waiting for a shader to compile, which is extremely distracting (and I would argue worse than a stutter). The downsampling filter is a poor method of SSAA, which lacks the speed or accuracy of the real thing. And that power saving patch from PR2172 has never been confirmed to cause performance regressions (the problem cannot be reproduced by any of our testers, even on equivalent hardware), so not having it means users run their GPUs much harder. Basically, Ishiiruka is something only informed users should use, but its great that it exists, and if you know what you are doing it can be very useful.


walfo1 Wrote:Which is the best to use in terms of performance?

Official master is faster on modern systems. On legacy systems (many years old!) Ishiiruka can be faster. It gets pretty technical on what supports what and how, but if you have anything within this decade, you should be able to use all of the Master's optimizations.
To sum it all up...... try both and whichever works better for you that's one.
What MaJoR said.

In my opinion, Ishiiruka is better for local multiplayer than master (until the ubershaders arrive). Playing F-Zero GX, Mario Kart or some Smash and suddenly having a stutter can mess up everyone's timing, while having a missing effect during a short time can only distract you visually.

You aren't locked to just one type of builds, so experiment and try finding what suits you better. Remember that the current video backend changes when you alternate master and Ishiiruka builds (using DX11 in Ishiiruka will make OpenGL the current one in master, and D3D in master will make Ishiiruka use DX9).
If you are not using Direct3D 9 or Async Shaders, Ishiiruka can be just as good and accurate (and at the same speed) as the regular builds (I tested it with many games). Ishhiruka is based on a master branch, and I think that every time there is a new master branch, Tino merges it with his build. The performance is the same as the master builds (assuming you don't use any of the build special settings like fast EFB or Async for example).

Some noticeable advantages: if you use it with a hd texture pack and prefetch custom textures, it will cause way less stuttering then regular builds, even if you have only 8GB of Ram like me (Hypatia's Wind Waker HD textures for example require more than 24GB Ram!! just to prefetch it on regular buils, on Ishhiruka it can use less than 4GB and the results are the same with no stuttering and no issues at all! and once again, it's from personal experience).

I also use it for the metroid prime games in the Direct3D 11 backend for the Metroid Prime Games (without Async shaders, I also prefer emulation accuracy over glitches, even with stuttering. I have to say though that after playing each game for 60-90 minutes and doing wierd actions like trying to kill enemies with morph ball for example, I could play with 99.9% stutter free experience afterwards). The emulation accuracy is just as good as the regular builds and OpenGL (Perfect for 1 and 2, almost perfect for 3 with some bloom offset being the only problem). I use it mainly for downsampling filter (it's doing is work for Direct3D 11 cause there is no SSAA, of course it requires a strong GPU though).

To conclude, if you are not using async shaders or any other hack special hack, emulation accuracy is just as good as the dev builds (I really tested this a lot so it's not just and assumption), and you have some nice features like downsampling filter. I never tested Direct3D 9 so I don't know how is the experience with it.

Note: to eliminate stuttering with way less glitches, Use Directd3D 11 with async shaders AND predictive FIFO. after testing, I can confirm that it's doing little glitches sometimes, but after a few times, the shaders are being cached correctly, and the experience is stutter free (I only tested it with Metroid Prime, but I don't use it) and a lot more accurate than Async shaders only. According to Tino at least (Can't confirm it), using Predictive FIFO requires a strong CPU for some games.