Not a bug. Even with dxvk.useAsyncPipeCompiler you still have to wait for an unoptimized pipeline to be compiled, but unfortunately there is no driver that properly implements this in a way that allows for really fast pipeline compilation. Even on RADV, which is pretty much the only driver that actually supports this feature, the benefits are maybe 10%.
Make sure that Mesa is not compiled with assertions enabled (i.e. pass -DNDEBUG as cflags), as that will slow down pipeline compilation by a factor of 10.
@doitsujin Thanks for the quick response. Do you know of a way to check whether or not the asyncpipecompiler is used?
Mesa is compiled with --buildtype plain, so should be fine in that regard.
Mesa is compiled with
--buildtype plain, so should be fine in that regard.
Even with --buildtype release i have to manually run
meson configure -Dcpp_args="-DNDEBUG" -Dc_args="_DNDEBUG"
in order to actually disable it.
Do you know of a way to check whether or not the asyncpipecompiler is used?
If you enable debug logging for dxvk, you should see a message telling you there's one worker thread. But even if it's used, as mentioned, the benefits will be small.
I suppose HotS has a ton of different shaders which makes necessary recompile a mess.
It's also quite stuttery on Windows with native DX11 (Blizzard, omg...).
Even with --buildtype release ... -DNDEBUG
Is that needed for autoconf configure too?
@shmerl
AFAIK mesa moving to meson, if you still using autoconf -- check ./configure --help
EDIT: $ meson configure in build directory for meson
Yeah, I know, but I use Debian's configure example, to build it in similar fashion. I suppose I can rewrite it all in Meson (figuring out all equivalent options), or wait until Debian Mesa build will switch to it.
--buildtype release is meson builtin option, setting -O3 and removing -g compiler options, and maybe something else similar
-DNDEBUG - looks like general option, meaning can differ, you must check meson.builds to figure out how they handle this , but usually it removes -g :)
-Dcpp_args="-DNDEBUG" -Dc_args="_DNDEBUG" now I see, it's compiler directives
Even with
--buildtype releasei have to manually runmeson configure -Dcpp_args="-DNDEBUG" -Dc_args="_DNDEBUG"in order to actually disable it.
@doitsujin Thanks for this hint! After checking mesa was indeed compiled with the debug assertions still on, it's now been fixed in my distro and whilst there are still some slowdowns when the shaders are compiled the first time it's a lot better compared to how it was before :)
@simonvanderveldt Maybe you want to use my HotS state cache for maximum shader quality setting?
I already got ~32MB of cache and it seems to get rid of 99% of stutter (except of a few yet to be encountered ults or skins):
https://www90.zippyshare.com/v/4xims0Gg/file.html
It's btw. extremely well compressible, ~730KB as 7z with maximum compression.
@aufkrawall Thanks! But I'm good now, especially with the DXVK shader cache that's part of the new/current release :)
Problem here. Im have some lags and fps drops 15-60fps.
System information
GPU: RX570 4GB
Driver: radv, mesa-git
Wine version: last
DXVK version: last
DXVK_CONFIG_FILEx1 2018-09
Just updated to mesa 18.2, which meant all shaders have to be recompiled, which is causing an extreme amount of hitching, boiling down to the first 5 or so minutes of every match with characters you haven't played with/against being an unplayable slideshow of 1 or less FPS.
From the description of
dxvk.useAsyncPipeCompilerit sounded like enabling it would help with this issue. I've added adxvk.conffile, set theDXVK_CONFIG_FILEenv var but I'm not seeing any change.So I figured maybe the setting is not being picked up/working. Is there a way to check which config options are set/what their values are when running a game?
And did I misunderstand the purpose of
dxvk.useAsyncPipeCompiler? Is it supposed to help in these situations?And finally I was wondering what's different vs Windows where I've never seen this behavior. Is the whole pipeline more efficient there? Or are we missing some precompilation or something like that?
Software information
Heroes of the Storm, all settings low or off, texture quality ultra
System information