Dolphin, the GameCube and Wii emulator - Forums

Full Version: Regarding Shader cache
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2

melter

Hi all, long time/first time poster.

First of all I just want to say thank you to the developers of Dolphin for their work on this awesome emulator. I remember way back when Dolphin was still in alpha (before it became open source anyway) loading Luigi's Mansion and just being amazed at how my computer could load up the intro for a few seconds before crashing! Smile Needless to say it has come a long way since then!

My question is regarding the shader cache stutter that happens when new shaders are created and stored; every time this happens the game I'm playing stutters anywhere from just a moment to a couple of seconds, and this happens on pretty much any game, GC or Wii... I know it's not my computer's lack of performance, as otherwise I'm running Super Mario Galaxy 2 at 4x Native Res + 4xAA + 16xAF + Per Pixel lighting and V-Sync on both OGL and D3D at solid 60FPS 100% of the time (actually 110-115fps avg without frame limiter). Reducing any of these settings does not seem to help at all, except for turning off per-pixel lighting, which seems to help, but only a little.

Now from what I understand the shader cache stuttering will still occur the way it is implemented now no matter how fast your machine, and the only way to alleviate this is to play the game. The problem is that for single player games such as SMG you will need to beat the game at least once and have seen every effect beforehand in game to build a complete shader cache file, which is not really ideal IMO.

So my question really is if there are any plans to improve on the shader cache implementation or replace it with a better solution?

Also, not sure how universal shader cache files are compared to what video card they were created on, but one workaround I can think of would be to host a public list of "complete" shader cache files that users can contribute to and download from?
The unofficial Ishiruka branch of Dolphin has asynchronous shadercache generation so you won't get the stutter most of the time as it'll have already guessed that you'd need the shader and prepared it, although there might be a few more issues in the cases where it guesses poorly. I think there are some other possible optimisations the devs are considering for official Dolphin, but none of the ones they know won't break anything are especially low-hanging fruit, so to speak.

melter

(02-24-2015, 09:55 PM)AnyOldName3 Wrote: [ -> ]The unofficial Ishiruka branch of Dolphin has asynchronous shadercache generation so you won't get the stutter most of the time as it'll have already guessed that you'd need the shader and prepared it, although there might be a few more issues in the cases where it guesses poorly. I think there are some other possible optimisations the devs are considering for official Dolphin, but none of the ones they know won't break anything are especially low-hanging fruit, so to speak.

hm any reason something like that wouldn't be merged into the main branch? Even if it could possibly cause issues in games it would be nice to have as an option so that way we can use it when needed and have all the other latest updates as well
Master-branch Dolphin is an accuracy-focused emulator above all else, and if some devs had their way, everything would be done with interpreters and software renderers to ensure perfect accuracy in every respect except speed. There are definitely settings in Dolphin that make things faster or prettier at the risk of breaking other things, but there aren't a huge number of them - it's a nuisance to have to look after two code paths for everything, as it potentially means that every change has to be made twice in two different places in two different ways. This slows down development.
While I agree with the perfect accuracy axiom, I will say using Ishiiruka build brings better accuracy than official build 99.9% of the time. My real Wii games don't stutter every few seconds when are played in my real Wii.
You literally have no idea what you're talking about; even Tino would say that Ishiiruka eschews accuracy for performance.

Shadercache stuttering is not inaccurate as much as it is a limitation of current hardware. Ishiiruka trades that for another non-ideal solution of having objects not draw when there is no shader prepared.
(02-27-2015, 07:26 PM)MaLDo Wrote: [ -> ]While I agree with the perfect accuracy axiom, I will say using Ishiiruka build brings better accuracy than official build 99.9% of the time. My real Wii games don't stutter every few seconds when are played in my real Wii.

Haha, he's not really right, but he does kinda sorta have a point Big Grin
(02-27-2015, 10:20 PM)JMC47 Wrote: [ -> ]You literally have no idea what you're talking about; even Tino would say that Ishiiruka eschews accuracy for performance.

Shadercache stuttering is not inaccurate as much as it is a limitation of current hardware.  Ishiiruka trades that for another non-ideal solution of having objects not draw when there is no shader prepared.


Relax. I have idea what I'm talking about.

From a player point of view game accuracy is one totally different thing that from a programmer point of view.
(02-28-2015, 12:08 AM)MaLDo Wrote: [ -> ]
(02-27-2015, 10:20 PM)JMC47 Wrote: [ -> ]You literally have no idea what you're talking about; even Tino would say that Ishiiruka eschews accuracy for performance.

Shadercache stuttering is not inaccurate as much as it is a limitation of current hardware.  Ishiiruka trades that for another non-ideal solution of having objects not draw when there is no shader prepared.


Relax. I have idea what I'm talking about.

From a player point of view game accuracy is one totally different thing that from a programmer point of view.
 also a wii doesnt run at 1080p and you can notice when a wii drops fps on a game a good example is skyward sword Smile
 but i do question myself how does the wii deals with the shader cache with so low hardware? :o
(02-28-2015, 08:41 AM)rexoe Wrote: [ -> ]
(02-28-2015, 12:08 AM)MaLDo Wrote: [ -> ]
(02-27-2015, 10:20 PM)JMC47 Wrote: [ -> ]You literally have no idea what you're talking about; even Tino would say that Ishiiruka eschews accuracy for performance.

Shadercache stuttering is not inaccurate as much as it is a limitation of current hardware.  Ishiiruka trades that for another non-ideal solution of having objects not draw when there is no shader prepared.


Relax. I have idea what I'm talking about.

From a player point of view game accuracy is one totally different thing that from a programmer point of view.
 also a wii doesnt run at 1080p and you can notice when a wii drops fps on a game a good example is skyward sword Smile
 but i do question myself how does the wii deals with the shader cache with so low hardware? :o

Wii doesn't use shaders or shader cache, dolphin does to emulate wii's gpu functions using pc hardware.
Pages: 1 2