Emulator Issues #4350
closedSpeed up suggestion: Shader Cache to RAM
0%
Description
Maybe dolphin can get a huge speed up if the shaders gets cached to ram first (because its much more faster than any hdd) and on emulation stop saved to disk.
The next time the game boots up dolphin can load the files into the ram and there should be no more stuttering oder lagging.
Just an idea dont kick me if its impossible to do :)
Updated by Billiard26 over 13 years ago
- Status changed from New to Invalid
This is already what happens.
Updated by Christian.Gschaider.CG over 13 years ago
doesnt seem so for my opinion because during gameplay the hdd plays crazy and it stutters heavy. no antivir or firewall or other unneccesary background processes. just plain windows 7 x64 with all drivers and updates installed
Updated by skidau over 13 years ago
- Status changed from Invalid to New
- Issue type set to Feature request
- Category set to gfx
- Relates to performance set to Yes
It should be possible to preload all of the shaders before the game starts. That would mean that there is a start up delay but none in-game.
Updated by hatarumoroboshi over 13 years ago
I think it would be better...to me is much better to wait before playing rather than during gameplay...
Updated by Billiard26 over 13 years ago
- Status changed from New to Invalid
This is already what happens..
Updated by Christian.Gschaider.CG over 13 years ago
This is not what happens, start hdd meter during gameplay and look at your ram. Ram is almost not affected while the hdd works crazy upto 100%
Updated by Christian.Gschaider.CG over 13 years ago
@Billard26 if you dont know how a computer work then dont do anything here. If the hdd turns up crazy and the ram is almost not affected by gameplay then theres no way something gets cached into ram. maybe you should ask other dev people here if you dont know anything about this project...
Updated by Sonicadvance1 over 13 years ago
Do you use the DirectX or OpenGL video backends when this /Problem/ occurs?
Updated by Christian.Gschaider.CG over 13 years ago
DX9/DX11, opengl doesn't work in most games
Updated by Sonicadvance1 over 13 years ago
Wait a minute, this makes no sense!
OGL doesn't cache shaders to disk, soo....
as what Billiard said
This is already what happens..
Updated by Sonicadvance1 over 13 years ago
Start your HDD meter before you load the game, you should see a spike once the backend loads all of the shaders at once in to RAM.
Updated by Christian.Gschaider.CG over 13 years ago
OGL doesnt work for me as i already said, graphic glitches and so on...
And on DX9/DX11 HDD Meter play crazy the whole time the emulation is running. Ram is almost not affected by emulation, max 50-100mb which is very minimal with 8gb ram.
Updated by Billiard26 over 13 years ago
@ Christian
Examine the source code yourself if you think I'm so stupid.
Updated by Sonicadvance1 over 13 years ago
Dolphin DOES have to stream the game from the HDD you know.
Updated by Christian.Gschaider.CG over 13 years ago
I have no knowledge at programming but i know what my computer does during the use of dolphin and i never said you are stupid
Updated by Christian.Gschaider.CG over 13 years ago
i know that dolphin "streams" the game but theres know way that this uses almost 100% on a SATA 6gb/s Drive connect to an ASUS Crosshair IV
Updated by Sonicadvance1 over 13 years ago
Not sure why your drive is spinning up to 100% capacity on a SATA 3 connection(Dang 600MB/s read speeds!)
My drive doesn't do very much here.
Updated by Christian.Gschaider.CG over 13 years ago
If i knew that i havent made an issue ;) i also have no unnecessary background processes like antivirs and so on, just a plain windows 7 x64 with all the newest drivers and all updates including sp1
Updated by hatarumoroboshi over 13 years ago
Skid said that "It should be possible to preload all of the shaders before the game starts. That would mean that there is a start up delay but none in-game."...is it already happening or not? According to the "first-time" massive in-game stuttering doesn't seem so...
Updated by hatarumoroboshi over 13 years ago
Then why there's anyway stuttering in-game the first time you play some games? Are all of the shaders pre-loaded or only partially?
Updated by Billiard26 over 13 years ago
Because during the first play of your game, you don't have a shader cache.
Updated by hatarumoroboshi over 13 years ago
So it is absolutely necessary to create it in-game, or there could be another way? And why in OpenGL it is less noticeable compared to Dx9?
Updated by Billiard26 over 13 years ago
DX shader compiler is slower for whatever reason.
Updated by Christian.Gschaider.CG over 13 years ago
+1 to the shader compiler ;) but isn't there an other way to do that ? lets say something like direct compute or cuda or maybe some other compiler ? there have to be something... the stuttering wasn't this heavy on older revisions. there must have something changed that slowed things down a lot...
Updated by Christian.Gschaider.CG over 13 years ago
also it seems that its not only a shader cache thing because for example in metroid ohter m, the stuttering appears randomly, sometimes when changing to morph ball sometimes not, sometimes when charging a shot, sometimes not and so on...
also sound seems to hang during the stuttering, maybe a sound related problem ? dont know, just suggestions...