METAL GEAR SOLID Δ: SNAKE EATER

METAL GEAR SOLID Δ: SNAKE EATER

29 个评价
How to fix (almost) the performance issues in METAL GEAR SOLID Δ: SNAKE EATER
由 Special Week ♡ 制作
Guide focused on solving (almost) the performance issues inherent to Unreal Engine 5.
2
2
   
奖励
收藏
已收藏
取消收藏
Intro
English Guide‎ ‎ ‎ ‎‎ ‎ <---- You're here


Guía en Español


Another game released on UE5, another game the community has to fix just to get it to run decently on hardware that exceeds the recommended requirements and still suffers from major performance issues.
Fortunately, there's a solution—and while it won’t make your hardware perform twice as well, it definitely helps a lot.
Download
Ultimate Engine Tweaks[www.nexusmods.com]

Credits to P40L0X[next.nexusmods.com] for taking the time to optimize this engine in nearly every game that uses it.

If this solution is very helpful to you, please consider donating[www.paypal.com] to support his work.

Alternatives

Depending on your setup, your performance could be negatively affected. You can try alternatives like:

Optimax - Performance[www.nexusmods.com]

by Hybred

or

Metal Gear Optimizer[www.nexusmods.com]

by FrancisLouis

Both mods use less aggressive CVARs compared to Ultimate Engine Tweaks. It may be useful in some cases.
Setup
Installing the .ini file is simple:
Just copy and replace the file in:
AppData\Local\MGSDelta\Saved\Config\Windows

To access the location without changing any Windows settings, simply press Windows + R and run the following command:

%localappdata%\MGSDelta\Saved\Config\Windows
CVARs that could work to improve performance
We're interested in performance without significantly sacrificing visual quality—and that's exactly what we're going to achieve.
All we need to do is download the .ini file (VRR or No VRR, your choice) from Nexus Mods and tweak a few settings to make it as optimized as possible.

First, uncheck the Read-only option and open the .ini file, then add the following three lines at the end, without the comments explaining what each one does:



r.Shadow.Virtual.Enable=0 // Disables virtual shadows. It may cause visual glitches in certain parts of the game in exchange for a very noticeable performance gain. Recommended only in Ultimate Engine Tweaks. r.Shadow.Virtual.ForceOnlyVirtualShadowMaps=0 // Forces the engine to disable virtual shadows on moving objects or characters. If you don’t want to fully disable virtual shadows, you can choose this option and gain a slight performance boost without visual glitches. Recommended only in Ultimate Engine Tweaks. r.Lumen.TraceMeshSDFs=0 // Disables detailed tracing for Software Ray Tracing, Lumen in the case of Unreal Engine 5. Sacrifices final shading quality in exchange for a good performance boost. Recommended in Ultimate Engine Tweaks and Alternatives

Warning: Depending on your setup, performance may be worse after disabling virtual shadows, so try it and draw your own conclusions.
Sometimes it's better to have them turned on,

I do not recommend disabling it in the alternatives, as the distance of the cascade shadow is reduced since the Virtual Shadow does all the work and disabling it will only leave very poor shadows in distance and quality.


You can also try adding more experimental parameters that I haven’t tested, so I cannot guarantee better performance:

r.VolumetricFog=0 // Disables volumetric fog. r.VolumetricCloud=0 // Disables volumetric clouds. r.Nanite.MaxPixelsPerEdge=4 // In theory, limits Nanite quality by reducing the geometric detail of each 3D model to only four edges per pixel.


Advanced CVars:

sg.ResolutionQuality=0 // Possibly used to limit the internal resolution scale. This is the default value, so I’m not sure how to implement it correctly—perhaps as a percentage value from 0 to 100. sg.ViewDistanceQuality=3 // Apparently refers to the rendering distance in graphics scale level, Epic. sg.AntiAliasingQuality=3 // Edge smoothing at graphics scale level, Epic. sg.ShadowQuality=0 // According to Epic Games documentation[dev.epicgames.com], this disables shadows in the game. For a lower value without completely disabling them, I recommend using 1 as the value. sg.GlobalIlluminationQuality=3 // Global illumination (Lumen) at scale level, Epic. sg.ReflectionQuality=3 // Reflection quality at scale level, Epic. sg.PostProcessQuality=0 // Limits post-processing quality to the lowest possible according to Epic Games documentation.[dev.epicgames.com] sg.TextureQuality=3 // Texture quality at scale level, Epic. sg.EffectsQuality=0 // Reduces on-screen effects quality to the lowest possible according to Epic Games documentation.[dev.epicgames.com] sg.FoliageQuality=3 // Foliage quality at scale level, Epic. sg.ShadingQuality=3 // Shading quality at scale level, Epic.


Values to keep in mind


0 equals Low and 3 equals Epic in Unreal Engine 5.
I recommend testing values from 0 to 3 for each advanced setting and seeing which one best fits your needs.

Credits to the guide from PC Optimized Settings[pcoptimizedsettings.com]
Enabling Frame Generation via Engine.ini
The following CVars are used to enable frame generation without the need for external programs:

t.Streamline.Reflex.Enable=1 // Enables Reflex mode, only valid for NVIDIA graphics cards t.Streamline.Reflex.Mode=2 // Enables Reflex + Boost, only valid for NVIDIA graphics cards r.Streamline.DLSSG.Enable=1 // Enables Frame Generation in DLSS, only valid for NVIDIA graphics cards r.Streamline.DilateMotionVectors=1 // It should help with some flickering when using DLSS + Frame Gen r.NGX.DLSS.AutoExposure=1 // It should help with some ghosting issue when using Frame Gen r.FidelityFX.FI.Enabled=1 // Enables Frame Generation in FSR, valid for any graphics card

I recommend this method only if you don’t want to use OptiScaler. I prefer the other method because of the advantages it provides: better implementation of scaling technologies and AntiLag 2 via fakenvapi.


More information below.
Update DLSS [NVIDIA GPUs only — FSR exclusively with OptiScaler]
Updating DLSS to the latest version is always the most optimal choice, especially in poorly optimized games or those with Frame Generation, since this technology is tied to DLSS on NVIDIA, as well as FSR for AMD.

We can use an easy method: download DLSS Swapper[github.com] and run it.

Once inside the application, it will load all the games in your library. What we’re interested in is updating METAL GEAR SOLID Δ: SNAKE EATER.



You just need to update both DLSS and DLSS Frame Generation libraries, although for now it’s better to do it manually since the latest recent update is not yet available in the tool.

DLSS 310.4.0[www.techpowerup.com]
MGSDelta\Engine\Plugins\Marketplace\nvidia\DLSS\Binaries\ThirdParty\Win64

DLSS Frame Generation 310.4.0[www.techpowerup.com]
MGSDelta\Engine\Plugins\Marketplace\nvidia\Streamline\Binaries\ThirdParty\Win64


Updating FSR (only if you’re using the OptiScaler method)

If you want to update FSR, the method is exactly the same with the application, except now you’ll see AMD and Intel upscaling technologies.



I strongly recommend always updating these libraries to achieve the best possible performance when using upscaling or frame generation technologies.
Fixes for visual bugs
Fix for Character Hair in Cutscenes

The only issue caused by this .ini when disabling Virtual Shadows is that hair shading on characters will bug out during cutscenes or scenes where lighting shifts from dark to bright.



This can be fixed by deleting the following line of code from the .ini file. It appears twice—make sure to remove both instances:



r.InstanceCulling.OcclusionCull=1



Once you've made the changes, save the .ini file and set it back to Read-only.

WARNING — It may still cause some issues with hair when disabling virtual shadows, as the game isn’t fully designed to be played without this feature. Hopefully, this will be fixed in a future patch.

This line only appears in Ultimate Engine Tweaks, not in the alternatives.


Black textures at distance

This can be fixed by deleting the following line of code from the .ini file. It appears twice—make sure to remove both instances:



r.Nanite.Streaming.StreamingPoolSize=768

Before


Background rocks without textures

After


Problem solved. Remember to save the .ini file and set it back to Read-only.


Fixed in the latest Ultimate Engine Tweaks update.
Comparison
Before



Ultra stock settings, TSR on native resolution

After



Ultra stock settings, TSR on native resolution + .ini

It's not a huge performance boost, but it does improve stability.
If you don’t want to disable Virtual Shadows, this is the best option to enjoy the game without nasty stutters.




Ultra stock settings, TSR on native resolution + .ini with Virtual Shadows disabled and Lumen Detail Traces limited.

This is the kind of performance difference we care about, since the game is capped at 60 FPS by default and unlocking it only leads to bigger issues.
Nothing we can do for now—just have to wait for the modding community to fix what Konami won’t.
Extra: Frame Generation via OptiScaler
We can also use Frame Generation thanks to OptiScaler.

The installation is simple; just download it from the official repository[github.com] and extract the files to:
steamapps\common\MGSDelta\MGSDelta\Binaries\Win64



Once extracted, run the setup_windows.bat file. Don't worry, it's not a malware. We just downloaded it from the official repository.



Select option 1. If you're using ReShader, you can try different options until both work together.



Here, select the number corresponding to your graphics card. In my case, it's AMD, so it will be number 1.



It’s very important to select the first option here as well if your motherboard is AMD or Intel; otherwise, Frame Generation will be used with FSR, and this results in quality loss due to the lack of native resolution support.



That's it. Simple, right? You're pretty good! Now let's move on to the game settings.


How do we know if OptiScaler is working?



Simple, if you see the following message on the side of the screen when you launch the game, everything is working correctly.


Enabling Frame Generation feature



Inside the graphics options menu, select DLSS, even if your graphics card is not NVIDIA. Save the settings by pressing the Esc key.

Press the Insert key to open the OptiScaler configuration panel.



In my case, I select FSR 3.X as the upscaler because I have an AMD graphics card, and OptiScaler's implementation is much better than the native one in the game.



Select OptiFG and save the .ini file by pressing the Save INI button. Restart the game, and you should have the Frame Generator options enabled.


Enabling the Steam Overlay

OptiScaler disables external overlays by default when you enable Frame Generation. To re-enable it, you just need to modify a line in the OptiScaler.ini file located in the folder where you extracted it.



Change the value to:

DisableOverlays = false

Save the file, then open the game.


Enabling Frame Generation in-game

Once inside the game, press the Insert key again. You'll see that Frame Generation is enabled and ready to be activated.



Select Active, Extended, Allow Async, and HUDFix, save the .ini file again using Save INI, and that's it; the process is complete.


Explanation of each parameter

Active — Enables Frame Generation via OptiFG. HUDFix — Enables HUD detection in generated frames; this helps fix ghosting on the HUD during movement. Extended — Extends HUD detection; this helps prevent major graphical glitches caused by FG, at the cost of a bit of ghosting. Allow Async — Improves the performance of the frame generator by efficiently synchronizing resource usage.


How do I know if Frame Generation is working?

If you see FG instead of FPS in the Steam interface, congratulations, you've successfully enabled Frame Generation.

Adding AntiLag 2 to Frame Generation [AMD RDNA1+]
The downside of using Frame Generation in every game is the input lag and the inconsistency between the real frames and the generated ones. This section is focused on implementing AntiLag 2 into OptiScaler and taking advantage of that technology, even if we have a graphics card that doesn’t support it natively.

Method only valid for AMD graphics card
RX 5000 and newer, tested on an RX 6800 XT


First, we need fakenvapi[github.com] from OptiScaler’s official repository.
The installation is the same as OptiScaler: just copy and paste it into the folder where the executable (MGSDelta-Win64-Shipping.exe) of our game is located:



Once copied, we need to download the latest updated NVIDIA DLSS library. We can get it from TechPowerUp[www.techpowerup.com], make sure to download the latest version (as of today it’s 310.4.0)

Same procedure: copy and paste



Important—pay attention here: once extracted, rename the file to nvngx.dll (if you don’t see the .dll at the end, you don’t need to add it yourself, in that case it should only be nvngx)


Finally, we’re going to modify the OptiScaler configuration file, remember it’s OptiScaler.ini, and we’re going to change a single parameter to make sure it loads the .dll we just extracted:



Change the value to

OverrideNvapiDll = true

Save the file and run the game.


Configuring AntiLag 2 inside OptiScaler options


If everything went well, you should now notice that in the OptiScaler panel there is a new section called fakenvapi



Now all that’s left is to configure it, for that we go to the tab that says Force Reflex and expand it



Select Force Enable and save the .ini file with the Save INI button.

That’s it, we just need to verify that it’s working correctly. There’s no need to restart the game for that.


How to make sure AntiLag 2 is working correctly


To make sure AntiLag 2 is implemented in our game, we must press the combination Alt + Shift + L inside the game five times until you see three values in the following order:



If the interface doesn’t show up, or only the FPS value appears, repeat the procedure. If the counter is only limited to FPS, it means you have AntiLag enabled from the AMD control panel, either specifically for the game or globally.

That’s all, I strongly recommend this extra procedure if you’re using OptiFG for a better experience.
Optimal Frame Generation Method Using OptiScaler [Any GPU]
This may be a bit of a tedious method after tweaking so many things to get everything else working, but believe me: it’s totally worth it.

For this, we need to modify the Engine.ini and enable frame generation for NVIDIA and Reflex mode just like in the method above:

t.Streamline.Reflex.Enable=1
t.Streamline.Reflex.Mode=2
r.Streamline.DLSSG.Enable=1
r.Streamline.DilateMotionVectors=1
r.NGX.DLSS.AutoExposure=1
r.Streamline.ClearSceneColorAlpha=false
// This CVAR fixes a visual bug that causes transparency in the survival menu, cure menu, and food menu when using DLSS Frame Generation. Thanks to Marcus Halberstram for the workaround.

Once that’s done, we need to download dlssg-to-fsr3[www.nexusmods.com](not the DLSSTweakers Edition nor the Universal one, just the normal one) and extract only the file dlssg_to_fsr3_amd_is_better.dll into the same folder where we installed OptiScaler. (Important, do not replace nvngx.dll)

When running it, go to the OptiScaler configuration panel by pressing the Insert key, change the method from OptiFG to FSR-FG via Nukem's DLSSG, and save the .ini with the Save INI button.




How to make sure the new Frame Generation method is working

If the procedure went well, you should see DLSS in Steam’s built-in FPS counter.



You can choose to select Fix broken visuals if you are still experiencing visual glitches due to Frame Generation.
Mods I recommend for a better experience
MGSDeltaFix[www.nexusmods.com]
— Unlocks the default 60 FPS cap (experimentally, at least for now) and adds some much-appreciated quality-of-life improvements, such as providing a fix for Ultrawide screens and skipping the long Konami intro.
Conclusion
Let’s hope Konami officially fixes the issues (haha, yeah right—but hey, at least the modders actually do) and soon.
For now, this is what we’ve got. If I come across any new issues or fixes myself, I’ll update the guide to contribute my small part to the community.

Lastly, I hope this guide has been helpful and that you can fully enjoy a timeless masterpiece that is unfortunately currently overshadowed by the game engine Konami chose to use.


⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Commencing Virtuous mission... now.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Naked Snake — Big Boss
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
18 条留言
Special Week ♡  [作者] 9 月 9 日 下午 5:00 
It works, thank for the info!
Marcus Halberstram 9 月 9 日 下午 12:41 
When enabling DLSS frame generation, it causes the models in the model viewer, cure viewer, and food viewer to become transparent.

Add this line to fix it.
r.Streamline.ClearSceneColorAlpha=false
The Nightfly 9 月 5 日 上午 10:08 
Worked great for a week, now I get a fatal error when launching.
Special Week ♡  [作者] 9 月 1 日 上午 11:57 
I'm glad the guide was helpful. Have fun!
Christopholous Rex 9 月 1 日 上午 6:52 
Thank you for the guide. Game was pretty much a slideshow before the tweaks. Now I can (for the most part) reliably play the game and a tolerable framerate (45-60). Me and my eight-year-old 1070ti/Ryzen 5 2600 thank you.
Special Week ♡  [作者] 8 月 30 日 下午 4:50 
I’m glad HUDFix solves your problem! I’ve just added an explanation for each useful OptiFG parameter with this game.
A_Albohch 8 月 30 日 下午 3:54 
HUDfix helped me
Special Week ♡  [作者] 8 月 30 日 下午 12:31 
I'm updating the guide with an optimal FG method with OptiScaler apparently without major visual issues like OptiFG. As a workaround, if you have an NVIDIA graphics card or don't want to use external programs, you can enable it by modifying Engine.ini.
Special Week ♡  [作者] 8 月 30 日 上午 10:29 
Try disabling 'Extended' on OptiFG. It solves some ghosting in my case, but I don't know if it works for every graphics card.
You can unlock the FPS cap by using MGSDeltaFix. Remember you need to modify it's .ini file.
A_Albohch 8 月 30 日 上午 3:47 
everything works, but I didn't unlock 60 fps in the game. Maybe because of this the game is a little jerky and blurry subtitles and interface, and the whole picture in the game. How can this be fixed?