rebtd7/FF13Fix

Gameplay is near constant sub-30fps

Sveppi opened this issue · 9 comments

Sveppi commented

Hi, I've been trying to get this to run properly. Cutscenes go to 60 but the gameplay is only in the range of 20-35, staying near 20 for most of it and I've had drops to sub-20. The fix seems to be properly installed. I'm running a Ryzen 2700X and a 2070 Super. Usage of cpu, memory and gpu barely hits 20%, with the game set to 1440p, and trying all the shadow res and AA options.

I've scoured for solutions and tried forcing a bunch of options in the GeForce panel but no dice.

Here's the log:

[TIME] [THREAD] [LOG]
23:10:07.915 00016576 FF13Fix 1.6.4 https://github.com/rebtd7/FF13Fix
23:10:07.915 00016576 Enabling hooks:
23:10:07.916 00016576 initializeHooks = 0
23:10:07.922 00016576 Loaded C:\WINDOWS\system32\d3d9.dll
23:10:07.922 00016576 createHookDirect3DCreate9 = 0
23:10:08.052 00016576 enableHookDirect3DCreate9 = 0
23:10:08.052 00016576 createHookDirect3DCreate9Ex = 0
23:10:08.172 00016576 enableHookDirect3DCreate9Ex = 0
23:10:08.172 00016576 createHookCreateWindowExA = 0
23:10:08.294 00016576 enableHookCreateWindowExA = 0
23:10:08.295 00016576 createHookCreateWindowExW = 0
23:10:08.421 00016576 enableHookCreateWindowExW = 0
23:10:08.422 00016576 createHookSetWindowLongA = 0
23:10:08.547 00016576 enableHookSetWindowLongA = 0
23:10:08.547 00016576 createHookSetWindowLongW = 0
23:10:08.667 00016576 enableHookSetWindowLongW = 0
23:10:08.667 00016576 AutoFix for "Final Fantasy XIII" enabled
23:10:08.667 00016576 Base Addr = 400000
23:10:08.667 00016576 LargeAddressAwarePatch found. ff13_exe_large_address_aware_flag = 0x23; ff13_exe_checksum = 0x02391369
23:10:08.668 00016576 createHookCreateFileA = 0
23:10:08.783 00016576 enableHookCreateFileA = 0
23:10:08.783 00016576 createHookCreateFileW = 0
23:10:08.899 00016576 enableHookCreateFileW = 0
23:10:08.899 00016576 LargeAddressAware patched back. ff13_exe_large_address_aware_flag = 0x03;
23:10:08.899 00016576 Checksum patched back. ff13_exe_checksum = 0x00000000
23:10:08.899 00016576 LargeAddressAwarePatch handled
23:10:08.985 00016576 HookCreateFileA Before Replacement: D:\SteamLibrary\steamapps\common\FINAL FANTASY XIII\white_data\prog\win\bin\ffxiiiimg.exe
23:10:08.985 00016576 HookCreateFileA After Replacement: D:\SteamLibrary\steamapps\common\FINAL FANTASY XIII\white_data\prog\win\bin\untouched.exe
23:10:09.103 00016576 disableHookCreateFileA = 0
23:10:09.222 00016576 disableHookCreateFileW = 0
23:10:09.223 00016576 Returning File Handle for D:\SteamLibrary\steamapps\common\FINAL FANTASY XIII\white_data\prog\win\bin\untouched.exe
23:10:09.807 00016576 HWND 0x000A0498: ClassName "OleMainThreadWndClass", WindowName: "OleMainThreadWndName"
23:10:13.794 00016576 MainContext::HookDirect3DCreate9
23:10:13.895 00016576 hkIDirect3D9::GetAdapterIdentifier
23:10:14.025 00016576 MainContext::HookDirect3DCreate9Ex
23:10:14.411 00016576 HWND 0x009108D6: ClassName "Static", WindowName: "test"
23:10:14.413 00016576 MainContext::HookDirect3DCreate9
23:10:14.493 00016576 hkIDirect3D9::CreateDevice
23:10:14.493 00016576 hkIDirect3D9::ApplyCreateDeviceFix
23:10:14.494 00016576 BehaviorFlags: 00000056 D3DCREATE_FPU_PRESERVE D3DCREATE_HARDWARE_VERTEXPROCESSING D3DCREATE_MULTITHREADED D3DCREATE_PUREDEVICE
23:10:14.494 00016576 BackBufferCount: BackBufferCount set to 3
23:10:14.494 00016576 PresentationInterval: PresentationInterval set to 0x80000000
23:10:14.678 00016576 HWND 0x000B0498: ClassName "SQEX.CDev.Engine.Framework.MainWindow", WindowName: ""
23:10:14.688 00016576 MainContext::HookDirect3DCreate9
23:10:14.779 00016576 hkIDirect3D9::CreateDevice
23:10:14.779 00016576 hkIDirect3D9::ApplyCreateDeviceFix
23:10:14.779 00016576 BehaviorFlags: 00000056 D3DCREATE_FPU_PRESERVE D3DCREATE_HARDWARE_VERTEXPROCESSING D3DCREATE_MULTITHREADED D3DCREATE_PUREDEVICE
23:10:14.779 00016576 BackBufferCount: BackBufferCount set to 3
23:10:14.779 00016576 PresentationInterval: PresentationInterval set to 0x80000000
23:10:15.551 00016576 HWND 0x00040912: ClassName "CicMarshalWndClass", WindowName: "CicMarshalWnd"
23:10:15.796 00014484 HWND 0x000D0966: ClassName "DIEmWin", WindowName: "DIEmWin"
23:10:15.861 00004356 HWND 0x000C090E: ClassName "OleMainThreadWndClass", WindowName: "OleMainThreadWndName"
23:10:16.937 00012704 Waited 2003.763300 ms
23:10:16.940 00012704 Starting FFXIII one time RAM patches.
23:10:16.940 00012704 NOPing the in-game instruction that sets the frame rate.
23:10:16.940 00012704 Removing game slow and synchronous controller continuous controller scanning...
23:10:16.941 00012704 Fixing ScissorRect...
23:10:16.941 00012704 Enabling controller vibration...
23:10:16.941 00012704 Frame pacer target frame rate is at address 185ac070
23:10:16.941 00012704 Frame pacer disabled.
23:10:16.941 00012704 Finished FF13 One Time Fixes
23:11:06.349 00016576 hkIDirect3DDevice9::Reset
23:11:06.352 00016576 BackBufferCount: BackBufferCount set to 3
23:11:06.353 00016576 PresentationInterval: PresentationInterval set to 0x80000000
23:12:02.769 00016576 HWND 0x000808EE: ClassName "SystemUserAdapterWindowClass", WindowName: ""
23:12:02.927 00016576 Unloaded C:\WINDOWS\system32\d3d9.dll

seuvah commented

Also post FF13Fix.ini. Maybe you have external fps limiter enabled.

My ini below. I have perfect 60fps zero drops.

[Options]
PresentationInterval = 1
TripleBuffering = 1
FullScreenRefreshRate = 0
SwapEffect = -1
AlwaysActive = false
AutoFix = true
Multisample = 0
HideCursor = false
ForceHideCursor = false
BehaviorFlags = 0

IngameFrameRateLimit = -1
DiscardUIVertexBuffer = true
DisableIngameControllerHotSwapping = true
EnableControllerVibration = true
VibrationStrengthFactor = 4.000000

[Adapter]
Adapter = false
VendorId = 0
DeviceId = 0

[Window]
TopMost = false
WindowClass =
WindowName =

[Borderless]
Borderless = false
ForceWindowedMode = false
AllWindows = false

[Version]
Config = 6

Sveppi commented

Here's my .ini, no external frame limiter that I'm aware of. I'm on a 165Hz monitor.

[Options]

PresentationInterval = -1

TripleBuffering = -1

FullScreenRefreshRate = 0
SwapEffect = -1
AlwaysActive = false
AutoFix = true
Multisample = 0
HideCursor = false
ForceHideCursor = false
BehaviorFlags = 0

[FFXIII]

IngameFrameRateLimit = 0

DiscardUIVertexBuffer = false

DisableIngameControllerHotSwapping = true

EnableControllerVibration = true

VibrationStrengthFactor = 2.000000

[Adapter]
Adapter = false
VendorId = 0
DeviceId = 0

[Window]
TopMost = false
WindowClass =
WindowName =

[Borderless]
Borderless = false
ForceWindowedMode = false
AllWindows = false

[Version]
Config = 6

Sveppi commented

I'll try your settings when I get home

seuvah commented

IngameFrameRateLimit = 0 change to -1
That will disable ingame limiter.
And it should work )

Also if you have screen tearing change
PresentationInterval = -1 to 1

TripleBuffering = -1 to 1

Sveppi commented

It's still all over the place :/ goes above 30 more now, but it's really inconsistent :(

23:10:08.899 00016576 LargeAddressAware patched back. ff13_exe_large_address_aware_flag = 0x03; 23:10:08.899 00016576 Checksum patched back. ff13_exe_checksum = 0x00000000

Wrong checksum!
Disable 4GB patch or use it properly! https://github.com/rebtd7/FF13Fix#usage-with-the-4gb-large-address-aware-patch-recommended

Sveppi commented

Updated my BIOS and now it's running basically perfectly 🤷🏻‍♂️ I re-did the FF13Fix and 4GB patcher so it should be correct now, at least not running into any issues with HD models yet. However I am noticing that text in the menu is getting cut-off (for instance the inventory, I can only see three weapons)

Problem was 4GB patch.

Text cut off is strange... can you post some screenshot? and new log file.

Sveppi commented

Apparently my PC just runs on magic or something, the text isn't cut off anymore after a restart 🤷🏻‍♂️ guess that's everything resolved. Thanks!