A way to fix or ammeliorate performance issues with the game
Why it stutters (skip if you just want it fixed)
No: It’s not Denuvo.
Denuvo is not the reason this, or any game other than RE8 (and that was Capcom ♥♥♥♥♥♥♥ with it adding their own layer of drm on top) run worse. Shader compilation stuttering is a plague on modern pc gaming caused by increased shader complexity on modern systems, the adevent of raytracing, DirectX12 and the terrible way Unreal Engine 4 handles shader compilation. Since it’s not a problem on console and there’s no one button fix for it, many devs dont give a crap and saddle us with this. They have to implement either, a way to precompile, or an asychronous compiler. And they dont want to deal with that. This is devs ignoring a serious problem that mostly occurs with UE4. The good news is the problems in this game seem to stem only partly from shader compiling, part from THE DAMNED 2K launcher, which opens the wrong version of the exe instead of the 64 bit executable. Plus, there seems to be trouble with the cloud save files. And the download cache helping the stutter somehow. Problems all around, but Denuvo isnt one of them.
Denuvo is not the reason this, or any game other than RE8 (and that was Capcom ♥♥♥♥♥♥♥ with it adding their own layer of drm on top) run worse. Shader compilation stuttering is a plague on modern pc gaming caused by increased shader complexity on modern systems, the adevent of raytracing, DirectX12 and the terrible way Unreal Engine 4 handles shader compilation. Since it’s not a problem on console and there’s no one button fix for it, many devs dont give a crap and saddle us with this. They have to implement either, a way to precompile, or an asychronous compiler. And they dont want to deal with that. This is devs ignoring a serious problem that mostly occurs with UE4. The good news is the problems in this game seem to stem only partly from shader compiling, part from THE DAMNED 2K launcher, which opens the wrong version of the exe instead of the 64 bit executable. Plus, there seems to be trouble with the cloud save files. And the download cache helping the stutter somehow. Problems all around, but Denuvo isnt one of them.
Fixing the game
Bypass the 2K Launcher
- Right click the game on your Steam Library, highlight Manage and click Browse Game Files
In the game folder, go through these folders:
MidnightSuns -> Binaries folder- >Win64
to find MidnightSuns-Win64-Shipping.exe - Copy the filepath to the exe,
if you dont know how here’s a way:
Click the Windows Address Bar on top, add a \ (alt+92) and copy the suggested filepath for the exe
- Right click the game on your Steam Library. Select Properties and paste the filepath we copies in between double quotes “” and add a space and %command% at the end
Example of what this will look like:“D:\Program Files (x86)\Steam\steamapps\common\Marvel’s Midnight Suns\MidnightSuns\Binaries\Win64\MidnightSuns-Win64-Shipping.exe” %command%
Clear Steam’s DL Cache - Go to Steam Settings (top left of steam Client, Click steam, then Settings.) ->Download and click Clear Download Cache. Log back into Steam
I know it doesnt really make sense that this helps but it somehow does. Something weird, this game.Additional Settings - Go to the in-game settings and TURN OFF RAYTRACING. It’s busted.
You should be good to go.
If you are still having problems try:
- On the Nvidia control panel, Change settings for this game and turn Low Latency to Ultra, and Energy Profile to Maximum Performance. (If you dont know how to use your driver’s control panel, don’t.)
- You can also try, in game to set the renderer to Directx11 which does not generate shader caches. But YMMV as it may slow down the game in a different way.
Linux fixes
On Proton, the launcher removes itself out of the way since a patch to make 2K games playable again, but given how much performance is improved on Windows, we might wanna remove it too
I HAVE NOT TESTED THIS ON MY DECK YET. It SHOULD work since its the same method used for Civ6
Put this on the Steam Launch Commands
eval $( echo "%command%" | sed "s/2KLauncher\/LauncherPatcher.exe'.*/Base\/Binaries\/Win64\/MidnightSuns-Win64-Shipping.exe'/" )
If it doesnt work, try
eval $( echo "%command%" | sed "s/2KLauncher\/LauncherPatcher.exe'.*/Base\/Binaries\/Win64Steam\/MidnightSuns-Win64-Shipping.exe'/" )
Thanks to ffrasisti [ARG] for his excellent guide, all credits belong to his effort. if this guide helps you, please support and rate it via Steam Community. enjoy the game.
Related Posts:
- Marvel’s Midnight Suns: How to Disable 2K Launcher
- Marvel’s Midnight Suns: How to Build Friendship for Almost Everyone