• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › General Discussion v
« Previous 1 ... 138 139 140 141 142 ... 368 Next »

Is it feasible to pre cache the shaders?
View New Posts | View Today's Posts

Pages (2): 1 2 Next »
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Is it feasible to pre cache the shaders?
07-28-2014, 06:06 AM
#1
Thotaz Offline
Junior Member
**
Posts: 7
Threads: 2
Joined: Dec 2013
As it is now Dolphin caches shaders as you are playing through the game, the problem with this is that it causes small freezes in the games (at least on my system). This obviously makes the experience of the first playthrough quite bad, so I'm just wondering if it would be possible to make it cache these shaders in advance? Also are the caches unique to your system? If they aren't then it might be worth it to backup caches from a complete playthrough, maybe even share them with other users.
Find
Reply
07-28-2014, 07:20 AM
#2
Sonicadvance1 Offline
Professional Hand Holder
**********
Developers (Some Administrators and Super Moderators)
Posts: 716
Threads: 15
Joined: Jan 2013
If we had some sort of system in place to gather anonymous usage statistics from games we could have a system that would generate a database of used shader IDs and have people download the shader IDs per game and let the user decide if they want to have it pre-compile all the shaders for that particular game on first run.
That's just a idea that I happened to think about.

Another one could be that instead of having shader caches separate per game, have a combined shader cache for all games so the chance of hitting a shader that isn't yet compiled is lessened.
This idea has been rejected though.
Find
Reply
07-28-2014, 07:33 AM
#3
Qaazavaca Qaanic
Unregistered
 
Am I correct in saying that an unofficial implementation was recently added to the DX9/Ishiiruka branch?
Reply
07-28-2014, 08:15 AM
#4
Thotaz Offline
Junior Member
**
Posts: 7
Threads: 2
Joined: Dec 2013
(07-28-2014, 07:20 AM)Sonicadvance1 Wrote: If we had some sort of system in place to gather anonymous usage statistics from games we could have a system that would generate a database of used shader IDs and have people download the shader IDs per game and let the user decide if they want to have it pre-compile all the shaders for that particular game on first run.
That's just a idea that I happened to think about.

Another one could be that instead of having shader caches separate per game, have a combined shader cache for all games so the chance of hitting a shader that isn't yet compiled is lessened.
This idea has been rejected though.

It would probably have to be opt in then, because the cache can grow quite big from what I can tell; the one I have for metroid prime 2 in openGL takes up 10.9MB and I only played around for a few minutes near the start of the game. If you are on a crappy internet connection then uploading 500MB or whatever a fully cached game uses might be a little too much to just happen without you being aware of it.
Find
Reply
07-28-2014, 08:30 AM
#5
JMC47 Offline
Content Producer
*******
Content Creators (Moderators)
Posts: 6,543
Threads: 29
Joined: Feb 2013
Jimbo1qaz: No, there isn't any implementation of that in his build. That's Vertex Loader stuff; which is mainly because the Vertex Loader JIT sucks.
Find
Reply
07-28-2014, 11:42 AM
#6
Sonicadvance1 Offline
Professional Hand Holder
**********
Developers (Some Administrators and Super Moderators)
Posts: 716
Threads: 15
Joined: Jan 2013
(07-28-2014, 08:15 AM)Thotaz Wrote:
(07-28-2014, 07:20 AM)Sonicadvance1 Wrote: If we had some sort of system in place to gather anonymous usage statistics from games we could have a system that would generate a database of used shader IDs and have people download the shader IDs per game and let the user decide if they want to have it pre-compile all the shaders for that particular game on first run.
That's just a idea that I happened to think about.

Another one could be that instead of having shader caches separate per game, have a combined shader cache for all games so the chance of hitting a shader that isn't yet compiled is lessened.
This idea has been rejected though.

It would probably have to be opt in then, because the cache can grow quite big from what I can tell; the one I have for metroid prime 2 in openGL takes up 10.9MB and I only played around for a few minutes near the start of the game. If you are on a crappy internet connection then uploading 500MB or whatever a fully cached game uses might be a little too much to just happen without you being aware of it.

You misunderstand my random idea. It would save the shader IDs which are 64bit apiece, not the full shader binary. We can't upload shader binaries since they are different between vendors and even families of GPUs.
Every shader ID a game would use would most likely be less than 512KB Tongue
Find
Reply
07-30-2014, 12:58 PM
#7
rexoe Offline
Member
***
Posts: 118
Threads: 8
Joined: Nov 2009
what if we had an option to prerender cache before the game starts????? :^)
intel®core 17 3770k 3.5GHz to 4.4Ghz  ATI AMD XFX HD 6970 8GB ram My youtube channel.
Find
Reply
07-30-2014, 01:57 PM
#8
Shonumi Offline
Linux User/Tester
**********
Administrators
Posts: 6,505
Threads: 55
Joined: Dec 2011
(07-30-2014, 12:58 PM)rexoe Wrote: what if we had an option to prerender cache before the game starts????? :^)

You need to run the game in order to generate the shader. There's no way to make the shader before you play the game because the shader is based on what you play.
Website Find
Reply
07-31-2014, 06:59 AM
#9
BigT Offline
Junior Member
**
Posts: 14
Threads: 0
Joined: Sep 2013
(07-28-2014, 07:20 AM)Sonicadvance1 Wrote: If we had some sort of system in place to gather anonymous usage statistics from games we could have a system that would generate a database of used shader IDs and have people download the shader IDs per game and let the user decide if they want to have it pre-compile all the shaders for that particular game on first run.
That's just a idea that I happened to think about.

This sounds like a pretty good idea for a community project, which sounds feasible to me... that should at least take care of the more popular games.
Find
Reply
07-31-2014, 07:51 AM
#10
JMC47 Offline
Content Producer
*******
Content Creators (Moderators)
Posts: 6,543
Threads: 29
Joined: Feb 2013
It's not really feasible, but it is something. There is a huge challenge to it, bandwidth, multiple videocards/drivers would constantly invalidate it. New builds would often break old shader caches as well.
Find
Reply
« Next Oldest | Next Newest »
Pages (2): 1 2 Next »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode