protonscr

Shader cache on an old 5400rpm HDD

dxvkclosed
doitsujin/dxvk#261 · opened 2018-04-09 by zaxxxxx · updated 2018-04-09 · 6 comments · github
1 matching comments, n / p to jump
Zzaxxxxx 2018-04-09 github

Hi,
I've noticed unplayable stuttering and frame pacing issues due to having an old hdd which is fairly slow particulairly in The witcher 3 and telltale games such as Batman and The Walking Dead 3.

The thing is once I move those games to a SSD those issues subside, however I don't have much space in there to keep all my games in. Is there a possibility to move the shader cache entirely into the SSD whilist keeping my games on my HDD?

Also even though my HDD is very slow those games play just fine natively on windows.

Ddoitsujin maintainer 2018-04-09 github

You can symlink $WINEPREFIX/drive_c/users/xxx/Temp/dxvk to a directory of your choice. Also, you don't need to install games into the wine prefix itself, you can install them anywhere.

Are you sure that this problem is actually caused by the pipeline cache? It is written asynchronously on a separate thread once a minute, only if new pipelines have been added, and in case of The Witcher 3, it is very small (less than 5MB for me on AMD).

Zzefkerr 2018-04-09 github

DXVK_SHADER_DUMP_PATH=/path
DXVK_SHADER_READ_PATH=/path
Does not that work anymore?

Ddoitsujin maintainer 2018-04-09 github

@Kerrung That is not the shader cache, and you should never do that. If anything, setting those two environment variables is slowing down the shader compiler because it writes a shader to a file and then instantly reads it from the same file again.

Don't do that. And for the love of god, please don't tell people to use it.

Zzaxxxxx 2018-04-09 github

Thanks, symbollic link to a SSD did the trick for me.

Witcher 3 performance is now vastly improved. It's still not 100% perfect and there are still some stutters from time to time but they are much less previlent now.

Telltale games such as Batman on the other hand went from having completely unplayable freezes for a couple seconds at times to something that resambles a smooth gameplay - just like when I moved it on to a ssd.

So I'm guessing it might be related to random I/O read/write? Even though the pipeline cache is fairly small only taking a couple megabytes moving it into a SSD really makes a difference on my system.

If anyone would like to test the cache performance the opening scene in Episode 1 in Telltale Batman is perfect for that.

Zzefkerr 2018-04-09 github

@Kerrung That is not the shader cache, and you should never do that. If anything, setting those two environment variables is slowing down the shader compiler because it writes a shader to a file and then instantly reads it from the same file again.
Don't do that. And for the love of god, please don't tell people to use it.

Many thanks. I understood

Ddoitsujin maintainer 2018-04-09 github

I removed the pipeline cache entirely, so this shouldn't be an issue anymore.

Launch options