4lex4nder / ReshadeEffectShaderToggler

Reshade 5+ addin to apply Reshade effects to render targets of shader groups based on a key press. It allows you to configure these groups from within the addin as well.
MIT License
89 stars 9 forks source link

ReShade reloads from time to time #38

Closed sefinek24 closed 8 months ago

sefinek24 commented 8 months ago

In the new version, I encounter 'reshade reloading' once again.

Video: https://cdn.discordapp.com/attachments/1044713077125435495/1162282590556930078/2023-10-13_14-50-35_1.mp4

4lex4nder commented 8 months ago

This happens when the render target of the shader you assigned to a group don't have the same format as the swapchain. So if a group is not matched, it will render those effects onto the back buffer, which, if it has a different format, forces ReShade to reload all effects. One could of course not render any effects in such a case, but that'd be equally jarring. Not much I can do about this, unfortunately.

sefinek24 commented 8 months ago

In the previous version, it worked normally.

4lex4nder commented 8 months ago

Previous as in 1.3.2?

sefinek24 commented 8 months ago

After the fix from #32, I didn't have any problems with that addon

sefinek24 commented 8 months ago

I've checked it thoroughly, and versions higher than v1.2.7 indeed have this issue, and a few others on top of that.

The tests were conducted on the same config

4lex4nder commented 8 months ago

What config are you using?

sefinek24 commented 8 months ago

I don't want to send it here. Can you give me your email?

4lex4nder commented 8 months ago

Or rather, does the following config have the same issue?

[General]
ResourceShim=none
ConstantBufferHookType=none
ConstantBufferHookCopyType=singular
TrackDescriptors=True
AmountGroups=1

[Keybindings]
PIXEL_SHADER_DOWN=97
PIXEL_SHADER_UP=98
PIXEL_SHADER_MARK=99
PIXEL_SHADER_MARKED_DOWN=4449
PIXEL_SHADER_MARKED_UP=4450
VERTEX_SHADER_DOWN=100
VERTEX_SHADER_UP=101
VERTEX_SHADER_MARK=102
VERTEX_SHADER_MARKED_DOWN=4452
VERTEX_SHADER_MARKED_UP=4453
INVOCATION_DOWN=103
INVOCATION_UP=104
DESCRIPTOR_DOWN=109
DESCRIPTOR_UP=107

[Group0_VertexShaders]
AmountHashes=0

[Group0_PixelShaders]
ShaderHash0=2006665982
AmountHashes=1

[Group0_ComputeShaders]
AmountHashes=0

[Group0_Constants]
AmountConstants=0

[Group0]
Name=UI
ToggleKey=0
Active=True
RenderTargetIndex=0
InvocationLocation=0
MatchSwapchainResolutionOnly=0
RequeueAfterRTMatchingFailure=True
AllowAllTechniques=True
TechniqueExceptions=False
ProvideTextureBinding=False
TextureBindingName=BLAH
ClearTextureBindings=False
CopyTextureBinding=True
ExtractConstants=False
ConstantPipelineSlot=0
ConstantDescriptorIndex=0
ConstantPushMode=False
ConstantShaderStage=0
ExtractSRVs=False
SRVPipelineSlot=0
SRVDescriptorIndex=0
SRVShaderStage=0
BindingRenderTargetIndex=0
BindingInvocationLocation=0
BindingMatchSwapchainResolutionOnly=0
ClearPreviewAlpha=True
sefinek24 commented 8 months ago

I'll check

4lex4nder commented 8 months ago

Or alternatively this one:

[General]
ResourceShim=none
ConstantBufferHookType=none
ConstantBufferHookCopyType=singular
TrackDescriptors=True
AmountGroups=1

[Keybindings]
PIXEL_SHADER_DOWN=97
PIXEL_SHADER_UP=98
PIXEL_SHADER_MARK=99
PIXEL_SHADER_MARKED_DOWN=4449
PIXEL_SHADER_MARKED_UP=4450
VERTEX_SHADER_DOWN=100
VERTEX_SHADER_UP=101
VERTEX_SHADER_MARK=102
VERTEX_SHADER_MARKED_DOWN=4452
VERTEX_SHADER_MARKED_UP=4453
INVOCATION_DOWN=103
INVOCATION_UP=104
DESCRIPTOR_DOWN=109
DESCRIPTOR_UP=107

[Group0_VertexShaders]
AmountHashes=0

[Group0_PixelShaders]
ShaderHash0=445598465
AmountHashes=1

[Group0_ComputeShaders]
AmountHashes=0

[Group0_Constants]
AmountConstants=0

[Group0]
Name=UI
ToggleKey=0
Active=True
RenderTargetIndex=0
InvocationLocation=2
MatchSwapchainResolutionOnly=0
RequeueAfterRTMatchingFailure=True
AllowAllTechniques=True
TechniqueExceptions=False
ProvideTextureBinding=False
TextureBindingName=BLAH
ClearTextureBindings=False
CopyTextureBinding=True
ExtractConstants=False
ConstantPipelineSlot=0
ConstantDescriptorIndex=0
ConstantPushMode=False
ConstantShaderStage=0
ExtractSRVs=False
SRVPipelineSlot=0
SRVDescriptorIndex=0
SRVShaderStage=0
BindingRenderTargetIndex=0
BindingInvocationLocation=0
BindingMatchSwapchainResolutionOnly=0
ClearPreviewAlpha=True

Both work fine on my end, with this one being slightly better since it also account for menu backgrounds

sefinek24 commented 8 months ago

0 changes

ReShade: 2023-10-14 17-24-52

Without reshade: 2023-10-14 17-24-52 original

sefinek24 commented 8 months ago

Untitled

image

Only second config works, but not fully

sefinek24 commented 8 months ago

bugged: https://youtu.be/KD1Ilv-RiuY

4lex4nder commented 8 months ago

Hmm, alright, will need to dig a bit

4lex4nder commented 8 months ago

Try 1.3.4

sefinek24 commented 8 months ago

Thanks, the issue with ReShade reloads has been resolved, however, there are currently two other errors:

  1. Flickering ReShade filters while scrolling through items in the craft bench. (timestamp 00:22)
  2. Black screen when configuring the add-on in the craft bench interface. (timestamp 01:37)

Video: https://youtu.be/viLBrDvn65g

I have a feeling that with each update of the ReshadeEffectShaderToggler add-on, the game loses a few frames per second, but I would need to analyze it to be sure.

4lex4nder commented 8 months ago
  1. Doesn't seem to be a regression, same issue with 1.2.7. Seems to be just the game doing something goofy
  2. Looks like something is wrong with the alpha clearing shader. For now you can disable Clear alpha channel in the preview window
sefinek24 commented 8 months ago

It seems like the issues have been resolved. If anything comes up, I'll create a new Issue. Thanks.