Metaphor: ReFantazio

Metaphor: ReFantazio

View Stats:
Kaldaien Sep 25, 2024 @ 11:18pm
39
8
3
11
5
5
5
4
2
2
2
2
40
[Special K] Performance fix
Important Re: 10/4/24 Patch
Atlus has fixed the performance problems that this special version of Special K originally fixed. Special K is no longer essential, though may offer other improvements, such as removing the game's exit confirmation, flip model (for Windows 10 users), etc.

I suggest following this project instead:

https://github.com/lyall/metaphorfix

Made by a friend, it includes a lot more game-specific QoL fixes than Special K will.

    Tl;Dr: This fix is no longer needed, the below text is just for archival.



This game has absolutely insane timing code under the hood that's causing some of the worst performance I have ever seen in a game. I threw together a patch to remove the bulk of the offending threading code and replace it with more efficient scheduling.

None of the problems are graphics API related, they should be so lucky :)

Extract either of these to your game's directory and it will apply the fixes automatically:

    Special K

    Standalone Fix

    The standalone fix can be loaded either as XInput1_4.dll or using an asi loader and renaming it; it has not been tested as well and may cause hitching

Please see the Special K Discord for more info.




I have bundled a version with the latest version of DXVK for testing


In my testing, a few scenes benefit from DXVK, but many are 30%+ slower than NVIDIA's actual D3D11 driver. It's likely only AMD GPU users who will benefit from DXVK.

If you want to test this, please be aware that you must delete d3d11.dll and dxgi.ini to revert back to a working setup. The included INI points to DXVK's DXGI DLL and the game will not start until you remove it and DXVK's D3D11 DLL.




For those who find DXVK is smoother out-of-the-box, you can achieve the same result in SK by adjusting backbuffer and maximum latency.

https://steamcommunity.com/sharedfiles/filedetails/?id=3339757586

Smoothest operation is always Backbuffers=n, Maximum Latency=n+1.

If you have an NVIDIA GPUs, you can use the Reflex graph to see the effect this has on latency.

It may be a good compromise if you can't get the stutter from the game's crappy culling in cities to go away.

This is basically the only advantage that DXVK has, it's extremely high latency because it's not framerate limited. But you can easily do the same thing in Special K, and can tweak this stuff to find a good compromise a hell of a lot quicker.




Press Alt+Enter twice after changing the number of backbuffers to get that setting to take affect.




Re: 9/28 Patch -- Conflicting reports about performance
https://steamcommunity.com/sharedfiles/filedetails/?id=3339374363
https://steamcommunity.com/sharedfiles/filedetails/?id=3339374699

There is still a CPU bottleneck here that prevents breaking 240 FPS in this scene uncapped even after the patch. That is the same bottleneck I have been removing from the game's code since day one.

They did optimize some other parts of the game's code, but you are not going to realize those optimizations until the giant honking CPU bottleneck is addressed.

They still do not know how to implement efficient timing code and it is utterly destroying performance (!!)
Last edited by Kaldaien; Oct 5, 2024 @ 7:46am
< >
Showing 91-105 of 277 comments
Kaldaien Sep 26, 2024 @ 10:55pm 
Originally posted by Limbless:
Excellent work, as always.
Is there any way this could work alongside the DXVK fix? I've been experimenting with both this and that separately as they don't seem to work together, and the gains for each are significant and seem to be in different areas. For example, with the DXVK fix, it doesn't seem to matter what I set the supersampling percentage to, I get a consistent ~20-30fps gain over vanilla. With Special K, I get the same gain in raw FPS at 125%, but lose ~20fps going up to 200%.
Could both of these things be made to work together?
Whatever the case, thanks for your work, king.
There's a standalone version that would work with DXVK if you use an ASI loader. It's now in the title post.

SK itself does not work well with DXVK, because DXVK doesn't implement all of DXGI. Frame pacing data will be completely wrong, making anything SK could do to improve performance ineffective.
Kaldaien Sep 26, 2024 @ 10:58pm 
Originally posted by rafahaines:
Originally posted by Khodeus™:
For anyone that have crashing, close Afterburner/Rivatuner.
I found out in the log that those are the culprits.
This worked! Thank you! Read the logs and they show that an "overlay" program caused the crash. Wasn't sure if it might've been the specialk fix.

Now wondering how I can monitor FPS without RivaTuner. GPU fans going crazy
Uh... Special K is comprehensive FPS monitoring and framerate limiting software :)

You can try the standalone version too, but in my testing it's not as effective as the stuff I built into Special K. The game can freeze for a while occasionally, that tiny DLL isn't smart enough to avoid that.
El Guapo Sep 26, 2024 @ 11:17pm 
Originally posted by Kaldaien:
Originally posted by rafahaines:
This worked! Thank you! Read the logs and they show that an "overlay" program caused the crash. Wasn't sure if it might've been the specialk fix.

Now wondering how I can monitor FPS without RivaTuner. GPU fans going crazy
Uh... Special K is comprehensive FPS monitoring and framerate limiting software :)

You can try the standalone version too, but in my testing it's not as effective as the stuff I built into Special K. The game can freeze for a while occasionally, that tiny DLL isn't smart enough to avoid that.

On the Special K fix do I just paste the file in the demo's directory and I'm good to go or do I have to download the Special K program?
JonnyM Sep 26, 2024 @ 11:44pm 
Originally posted by Ser:
downloaded this and I'm still having problems. Performance did improve but I'm getting these crazy microstutters
cpu: AMD Ryzen 9 7940HS w/ Radeon 780M Graphics 4.00 GHz
ram: 16gb
gpu: 4060

I still do appreciate your work in helping.

I think I saw some patch notes in their discord fixing this. I recommend going there to grab the latest version.

Also hijacking this comment, someone please help us deck people!

We deserve decent framerates too!
Last edited by JonnyM; Sep 26, 2024 @ 11:44pm
Kaldaien Sep 26, 2024 @ 11:54pm 
Originally posted by El Guapo:
Originally posted by Kaldaien:
Uh... Special K is comprehensive FPS monitoring and framerate limiting software :)

You can try the standalone version too, but in my testing it's not as effective as the stuff I built into Special K. The game can freeze for a while occasionally, that tiny DLL isn't smart enough to avoid that.

On the Special K fix do I just paste the file in the demo's directory and I'm good to go or do I have to download the Special K program?
Either works.

That DLL is SpecialK64.dll, just renamed. It's not included in the version you would install from the website, but you can replace the installed version with that DLL.
MINUANO GAMING Sep 27, 2024 @ 12:27am 
I just tried the fix and it did improve my framerate a lot in CPU limited scenarios at 100% resolution 4K, it went from 70s to 100+!

Curiously though, at 200% resolution it dropped the framerate by about 10%, going from 44 to 39~40ish, also CPU bound.

I have tried the CPU affinity fix, both via the .ini file and CPU Lasso, forcing it to use all P-Cores but it didn't seem to have any effect.

Not sure if this has something to do with modern Intel CPUs being weird, but I'm running a 12900K/RTX 4080 setup.
Linus Sep 27, 2024 @ 12:36am 
The newest version works really well, but it leaves the app running according to steam even though i quite. have to manually click close in the library to end it.
Paxon-XE3 Sep 27, 2024 @ 12:45am 
I've never given a Steam award to anyone before.
I love you, and all that you do.
RyuHazuki Sep 27, 2024 @ 12:59am 
Originally posted by Paxon-XE3:
I've never given a Steam award to anyone before.
I love you, and all that you do.

Rarely do that myself too, but everything Kaldaien does to PC community, the least i can do is give him some of my points. Wish i could shake their hand and give big thank you hug for everything they do.
Hawke Sep 27, 2024 @ 2:07am 
You literally save my life man. The game runs perfectly now.
DeadJericho Sep 27, 2024 @ 3:04am 
they should hire you to oversee their pc versions of games before they release them
El Guapo Sep 27, 2024 @ 3:51am 
Originally posted by Kaldaien:
Originally posted by El Guapo:

On the Special K fix do I just paste the file in the demo's directory and I'm good to go or do I have to download the Special K program?
Either works.

That DLL is SpecialK64.dll, just renamed. It's not included in the version you would install from the website, but you can replace the installed version with that DLL.

Alright thanks, Special K is now working like a charm.
For other people reading I also enabled the GPU via graphics in windows settings, search for the game's executable and select your GPU, that way you will play the game with no issues at all.
Screen Sep 27, 2024 @ 3:51am 
WE SAIYANS HAVE NO LIMITS 🗣🗣🔥🔥🔥🔥
Caliban Sep 27, 2024 @ 7:15am 
Ty a lot
OldManLuNg Sep 27, 2024 @ 8:06am 
For me the issue was with incorrect default GPU in Nvidia settings - https://steamcommunity.com/app/2679460/discussions/0/4842022700071799523/
< >
Showing 91-105 of 277 comments
Per page: 1530 50

Date Posted: Sep 25, 2024 @ 11:18pm
Posts: 277