SFX 2.0 Fps in Framework is worse than in Reshade!
- Quentin-Tarantino
- Topic Author
GTA V SFX 2.0 + Reshade Pack, only using the SFX 2.0 config = 65 fps and GTA V without 75fps
I am using the exact same values and have tested over and over and same Results!
plus with the same values tweaked. The SFX 2.0 visuals look better in the SFX 2.0 + Framework Pack.
It's like the McFX_settings + GemFX_settings are loading even though they are disabled
Any Ideas to why this is happen?
Please Log in or Create an account to join the conversation.
- Ganossa
Please Log in or Create an account to join the conversation.
- Quentin-Tarantino
- Topic Author
LuciferHawk wrote: Can you post your related setting files?
This is the SFX 2.0 settings in the Framework pack
www.mediafire.com/download/6hl5nrpus51zfa1/Settings_.rar
But when i use those same exact SFX settings in Reshade + SFX 2.0 pack they look different and with better fps
Please Log in or Create an account to join the conversation.
- Ganossa
I checked and 50% of the additional impact comes from the depth buffer being calculated in the framework though not needed in your case. I will add a setting in the Common_settings.cfg file to allow forcing it off in the next release for ppl that play games without depth buffer access or that simply do not use depth dependent shader.
The remaining 50% are due to differences in SweetFX shader. I will have to take a closer look to find out which and how shader differ.
EDIT: Okay, it seems to be related how the piggy bag is currently implemented in the framework. If you deactivate FXAA, Bloom and LumaSharpen the framework is actually much faster than stand alone SFX (considering I fixed the issue on top, so maybe not for you yet). I will see what I can do about the piggy bag solution.
EDIT#2: I found the reason, the piggy bag calculation seems to be broken and therefore executes the shader twice. If I fix this and compare SFX directly with the framework there is only a slight difference in fps (in our TestingSoftware: SFX with 2880fps, FM with 2920fps). However, I disabled the additional frame storage in the FM for the direct comparison. It is needed in most other (than SFX) shader, so in the release FM would have 2600fps due to the framework storing each frame at the beginning so that any shader can base its effects on the original image later on.
EDIT#3:P So I decided to actually give you the option to also turn the initial storage off. For ppl that really need the last bit of fps!
Please Log in or Create an account to join the conversation.
- Ganossa
Tested applying the two new values RFX_InitialStorage (to turn on/off initial storage of the frame) and RFX_DepthBufferCalc (to turn on/off depth calculation)
SFX - 1475 fps in stand-alone SweetFX
FW - 550 fps // Before the fix
FW - 1485 fps // RFX_InitialStorage set to 0 and RFX_DepthBufferCalc set to 0 => config for when you only use SFX in the Framework
FW - 1395 fps // RFX_InitialStorage set to 1 and RFX_DepthBufferCalc set to 0 => config for when you use no depth dependent shader
FW - 1205 fps // RFX_InitialStorage set to 0 and RFX_DepthBufferCalc set to 1 => all effects will be dependent on the previous effects
FW - 1172 fps // RFX_InitialStorage set to 1 and RFX_DepthBufferCalc set to 1 => default config if you want to use any mix of shader as intended
Please Log in or Create an account to join the conversation.
- Ioxa
Please Log in or Create an account to join the conversation.
- Ganossa
Ioxa wrote: It would probably be tedious to code if this is possible, but is it possible to have the shaders themselves turn these options on and off based on usage? For example, if a selected shader uses the initial storage or the depth buffer it would turn those options on, otherwise they would just be off by default.
It is possible but the shader developers have to be aware of it. You can then initially define in your shader whether that shader uses either of those options. I would still like to add the overwrite in the Common_settings.cfg so the user can be the last instance deciding to turn it on or off.
Please Log in or Create an account to join the conversation.
- Wicked Sick
Is it the 0.18.1, Lucifer? The #define RFX_LogDepth? Sorry, I am a bit sleepy...
Also, which testing software do you use?
Please Log in or Create an account to join the conversation.
- Ganossa
Wicked Sick wrote: "EDIT#3:P So I decided to actually give you the option to also turn the initial storage off. For ppl that really need the last bit of fps!"
Is it the 0.18.1, Lucifer? The #define RFX_LogDepth? Sorry, I am a bit sleepy...
Also, which testing software do you use?
No, it will be in the upcoming release. Quentin just found out about the issue when comparing FM to SFX stand-alone.
CJ provided us with the HighQualityTC, which is basically a simple d3d9 renderer that draws a 2d picture in a 3d space.
Please Log in or Create an account to join the conversation.
- Wicked Sick
Please Log in or Create an account to join the conversation.
- vfxninjaeditor
Please Log in or Create an account to join the conversation.
- Ganossa
vfxninjaeditor wrote: So, this will really enhance the framerate even with depth buffer and initial storage on? GTAV give me really low framerates right now when using reshade. I get at least 50fps with it off but go down to 25-30fps with it on. I am not using DoF or AO. The only feature using depth buffer is heat waves. I hope these improvements help a good bit.
It will at least enhance (half impact) the frame rate for the SFX suite. If you do not use DoF, AO or another shader that is depth dependent, it will increase fps even further.
Ioxa wrote: It would probably be tedious to code if this is possible, but is it possible to have the shaders themselves turn these options on and off based on usage? For example, if a selected shader uses the initial storage or the depth buffer it would turn those options on, otherwise they would just be off by default.
I included another value for automation now
These will be the 3 new values in the Common_settings.cfg
// -- Performance --
#define RFX_SmartPerfCheck 1 //[0 or 1] If set to 1, checks your settings to set the following two values automatically
#define RFX_InitialStorage 1 //[0 or 1] Set this to 0 if you !only! use the SweetFX suite and want some additional fps (overwrites RFX_SmartPerfCheck if set to 0)
#define RFX_DepthBufferCalc 1 //[0 or 1] Set this to 0 if run an application that does not allow depth buffer access or you use no depth dependent effects and want some additional fps (overwrites RFX_SmartPerfCheck if set to 0)
Please Log in or Create an account to join the conversation.
- Martigen
Awesome. Just so I understand the wording, even if RFX_SmartPerfCheck is 1, setting either of the other two to 0 will override Smartcheck in that particular respect?LuciferHawk wrote: I included another value for automation now
These will be the 3 new values in the Common_settings.cfg
Please Log in or Create an account to join the conversation.
- Ganossa
Martigen wrote:
LuciferHawk wrote: I included another value for automation now
These will be the 3 new values in the Common_settings.cfg
Awesome. Just so I understand the wording, even if RFX_SmartPerfCheck is 1, setting either of the other two to 0 will override Smartcheck in that particular respect?
Correct, it basically allows to only smart check one of those two options.
Please Log in or Create an account to join the conversation.
- MonarchX
Please Log in or Create an account to join the conversation.
- Ganossa
MonarchX wrote: SO does that mean that Framework version can be made to run faster than the non-Framework version?
Yes, it will automatically do that depending on which shader/effects you select.
Please Log in or Create an account to join the conversation.