Skip to content

Commit 6da50c7

Browse files
committed
Added option to disable HUDFix resource tracking
1 parent f155094 commit 6da50c7

File tree

5 files changed

+184
-169
lines changed

5 files changed

+184
-169
lines changed

OptiScaler.ini

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,13 @@ ForceBorderless=auto
255255
[OptiFG]
256256
; -------------------------------------------------------
257257

258-
; Enables HUD fix FSR3.1 Frame Generation
258+
; Disables Hudfix resource tracking
259+
; Which would reduce CPU overload when used with
260+
; ML frame generators which handles HUD elemants
261+
; true or false - Default (auto) is false
262+
DisableHUDFix=auto
263+
264+
; Enables HUDfix hudless tracking for frame generation
259265
; Might cause crashes, specially with Async
260266
; true or false - Default (auto) is false
261267
HUDFix=auto

OptiScaler/Config.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ bool Config::Reload(std::filesystem::path iniPath)
156156

157157
// OptiFG
158158
{
159+
FGDisableHUDFix.set_from_config(readBool("OptiFG", "DisableHUDFix"));
159160
FGHUDFix.set_from_config(readBool("OptiFG", "HUDFix"));
160161
FGHUDLimit.set_from_config(readInt("OptiFG", "HUDLimit"));
161162
FGHUDFixExtended.set_from_config(readBool("OptiFG", "HUDFixExtended"));
@@ -879,6 +880,7 @@ bool Config::SaveIni()
879880

880881
// OptiFG
881882
{
883+
ini.SetValue("OptiFG", "DisableHUDFix", GetBoolValue(Instance()->FGDisableHUDFix.value_for_config()).c_str());
882884
ini.SetValue("OptiFG", "HUDFix", GetBoolValue(Instance()->FGHUDFix.value_for_config()).c_str());
883885
ini.SetValue("OptiFG", "HUDLimit", GetIntValue(Instance()->FGHUDLimit.value_for_config()).c_str());
884886
ini.SetValue("OptiFG", "HUDFixExtended", GetBoolValue(Instance()->FGHUDFixExtended.value_for_config()).c_str());

OptiScaler/Config.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,7 @@ class Config
465465
CustomOptional<int, NoDefault> FGRectHeight;
466466

467467
// OptiFG - Hudfix
468+
CustomOptional<bool> FGDisableHUDFix { false };
468469
CustomOptional<bool> FGHUDFix { false };
469470
CustomOptional<int> FGHUDLimit { 1 };
470471
CustomOptional<bool> FGHUDFixExtended { false };

OptiScaler/hooks/D3D12_Hooks.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1108,7 +1108,7 @@ static void HookToDevice(ID3D12Device* InDevice)
11081108

11091109
HookToCommandList(InDevice);
11101110

1111-
if (State::Instance().activeFgInput == FGInput::Upscaler)
1111+
if (State::Instance().activeFgInput == FGInput::Upscaler && !Config::Instance()->FGDisableHUDFix.value_or_default())
11121112
ResTrack_Dx12::HookDevice(InDevice);
11131113
}
11141114

0 commit comments

Comments
 (0)