No reinitializing at loading screens

More
5 years 5 months ago #1 by Sassy
Is it possible to somehow force ReShade shaders to stay initialized even if a game is loading a new map/save/anything?
Specially in a "loading heavy" game it's slowing things down quite a bit (with lot's of fancy stuff active :silly: ).
Maybe a loading-screen detection? :blink:
Also v0.18.1 feels way faster than v0.18.0 (framework) not sure what you did but great job. :cheer:

Please Log in or Create an account to join the conversation.

More
5 years 5 months ago #2 by crosire
Replied by crosire on topic No reinitializing at loading screens
I would love to, but I guess your game forces a device reset when loading new stuff, which in turn means all resources need be recreated (including shaders), so ReShade has to reinitialize.

Please Log in or Create an account to join the conversation.

More
5 years 5 months ago - 5 years 5 months ago #3 by Ganossa
Replied by Ganossa on topic No reinitializing at loading screens
I am not sure about that specific issue but in GEMFX injector I actually skip re-initialization for anything that is not changing the shader relevant device context (e.g. actual change in resolution). You can check those values for each potential initalization to see if anything would actually change.
Last edit: 5 years 5 months ago by Ganossa.

Please Log in or Create an account to join the conversation.

More
5 years 5 months ago #4 by crosire
Replied by crosire on topic No reinitializing at loading screens
I do that already. But still, if a D3D9 device reset is requested, there is not much you can do.

Please Log in or Create an account to join the conversation.

More
5 years 5 months ago #5 by Sassy
Replied by Sassy on topic No reinitializing at loading screens
Bummer :(
In this case there are complete static image loading screens which take like 5 seconds (average) and Reshade (with lots of fance shaders :woohoo: ) increases them to 10+ seconds. Of course this doesn't sound like alot but you get ALOT of loading screens in this specific game - so it adds up.
The other day i saw a request about a reinitialization delay - maybe that would bypass this issue?

d3d9 device requests reset for loading screen -> reshade waits...
d3d9 device requests another reset for the actual next instance - > reshade waits...
map fully loaded -> reshade starts reinit.

Something like that?
ReShade can't check for "GameLoadCompletion=100%" to avoid being init. while the game is stressing the PC, can it? :)

Please Log in or Create an account to join the conversation.