Dolphin, the GameCube and Wii emulator - Forums

Full Version: Dolphin Progress Report
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(12-02-2016, 02:36 PM)shellashock Wrote: [ -> ]Count my vote for hooking up the UID shader generation method to all the compatible graphics backends. Assuming that the shader generation at boot is a one time deal per game and does not need to be repeated every time you boot the same game
Heh, so you are for no?

I wonder why nobody just tries it and check for the additional booting time: https://github.com/dolphin-emu/dolphin/pull/4257 (OGL only)
(12-03-2016, 02:36 AM)degasus Wrote: [ -> ]Heh, so you are for no?

I wonder why nobody just tries it and check for the additional booting time: https://github.com/dolphin-emu/dolphin/pull/4257 (OGL only)
Taking a closer look at this, I am still interested even if boot time is ALWAYS slower due to the convenience of having unified shaders across backends. The reason I didn't check this out was twofold: I first saw this ~ 2 AM and my iGPU is not Vulkan compatible atm. I will check out that OGL PR though.
(12-02-2016, 10:35 PM)Craftyawesome Wrote: [ -> ]I know it says the boot time can be reduced with multithreading, but would it be plausible to have the game run like non-vulkan backends, but compile the UIDs on a seperate thread and then start using them?

(12-02-2016, 10:39 PM)JMC47 Wrote: [ -> ]Yeah; this seems like a pretty easy solution.
If you were acknowledging me stop the voting
(12-03-2016, 01:46 AM)Franpa Wrote: [ -> ]"5.0-1364 - Vulkan: Improved Shader Cache"

If it means the death of micro-stutters during gameplay, yes, yes and more yes! Why would anyone NOT want the change? I will admit it is hard to tell what is meant by "several seconds" though (30 seconds longer startup time? 60 seconds?) but even so, it is still worth it if it means no more micro-stutter during gameplay!

Stutters still happen the first time. It just could be used between back ends and configurations.
(12-03-2016, 03:21 AM)Craftyawesome Wrote: [ -> ]Stutters still happen the first time. It just could be used between back ends and configurations.

True, since it will need to generate the UID stuff to begin with before it can generate shaders at Start Up. However people can share their UID's online... negating the issue for other people Smile (Perhaps an online database of UIDs could be made?)
I really like the idea of the UID solution, as I am currently playing Metroid Prime and don't dare update my Geforce Driver until I am finished, which is not good for new gamesSmile

Plus the UID sharing seems like a very powerful solution.

I don't mind increase in boot time much, as I preload custom textures to VRAM as well, which can take up to 30 seconds sometimes. But if you are really worried about this, couldn't this feature me implemented as an option (or is that to difficult for such a major change?).

AndiNo

UID cache certainly sounds very good. If:
1) boot time is increased by no more than 15 seconds
2) UID caches can (and will!) be shared between users
3) UID caches are independent of Dolphin version
then I'd say this is one of the best things coming to Dolphin! Smile

Craftyawesome's idea certainly sounds good, too. Just boot the game the normal way but compile the shaders in a separate thread. Best of both worlds. Smile
(12-03-2016, 03:59 AM)Franpa Wrote: [ -> ]True, since it will need to generate the UID stuff to begin with before it can generate shaders at Start Up. However people can share their UID's online... negating the issue for other people Smile (Perhaps an online database of UIDs could be made?)

Then maybe add a tab to dolphin download it like it does with cheat codes?

Even better would be, have those UID included with dolphin builds. Smile

(12-03-2016, 04:56 AM)AndiNo Wrote: [ -> ]UID cache certainly sounds very good. If:
1) boot time is increased by no more than 15 seconds
2) UID caches can (and will!) be shared between users
3) UID caches are independent of Dolphin version
then I'd say this is one of the best things coming to Dolphin! Smile

Craftyawesome's idea certainly sounds good, too. Just boot the game the normal way but compile the shaders in a separate thread. Best of both worlds. Smile

This ^^
(12-03-2016, 04:56 AM)AndiNo Wrote: [ -> ]UID cache certainly sounds very good. If:
1) boot time is increased by no more than 15 seconds
2) UID caches can (and will!) be shared between users
3) UID caches are independent of Dolphin version
then I'd say this is one of the best things coming to Dolphin! Smile

Craftyawesome's idea certainly sounds good, too. Just boot the game the normal way but compile the shaders in a separate thread. Best of both worlds. Smile

1) Depends on the driver. If the cache is big, and the driver doesn't support a second level on-disk cache (@OSX + Linux), this might be minutes...
2) I think will only happen for stable releases, because of
3) They will still be dependent on the Dolphin version, but they won't change that often. Likely a few times per year up to once per month.

Compiling while running is planned for Vulkan, but I'm against implementing this for OGL. At least if the driver doesn't expose such an extension.
Wow, trying to view that wind waker picture instantly makes chrome complain it needs more RAM XD
I may be repeating someone elses idea,but here's my take on it.
If there is a delayed boot (one big stutter?),then couldn't that just be streamlined in the background like Ishiiruka's multi-threading shader since it wouldn't be showing any of those upon booting?
Would that also negate the delayed boot altogether?

I guess that's where a hybrid of ubershaders comes in,you would get new shaders stored the regular single-thread way while already stored ones run through the multi-threaded shader.