METAL GEAR SOLID Δ: SNAKE EATER

METAL GEAR SOLID Δ: SNAKE EATER

评价数不足
Cómo solucionar (casi) los problemas de rendimiento en METAL GEAR SOLID Δ: SNAKE EATER
由 Special Week ♡ 制作
Guía enfocada en solucionar (casi) los problemas de rendimientos propios de Unreal Engine 5
   
奖励
收藏
已收藏
取消收藏
Introducción
English Guide


Guía en Español <---- Estás aquí

Otro juego que sale en UE5, otro juego que la comunidad se tiene que molestar para que corra decentemente en hardware que pasa los requisitos recomendados y aún así da problemas enormes de rendimiento.
Por suerte tiene solución, y aunque no va a hacer que el desempeño de tu hardware haga un doble de rendimiento, sí ayuda demasiado.
Descarga
Ultimate Engine Tweaks[www.nexusmods.com]

Créditos a P40L0X[next.nexusmods.com] por tomarse la molestia de optimizar este motor en casi cada juego que lo use.

Si esta solución es de gran ayuda, por favor considera donarle[www.paypal.com] para apoyar su trabajo.

Alternativas

Dependiendo de tu equipo, el rendimiento podría empeorar. Puedes probar con otras alternativas como:

Optimax - Performance[www.nexusmods.com]

por Hybred

o

Metal Gear Optimizer[www.nexusmods.com]

por FrancisLouis

Ambos mods usan CVARs menos agresivos comparo o Ultimate Engine Tweaks. Puede ser útil en algunos casos.
Instalación
Instalar el .ini es sencillo: solo copia y reemplaza el archivo en
AppData\Local\MGSDelta\Saved\Config\Windows

Para acceder a la ubicación sin tener que cambiar configuraciones de Windows, solo usa la combinación de teclas Windows + R y ejecuta el siguiente comando:

%localappdata%\MGSDelta\Saved\Config\Windows
Líneas de código a modificar
A nosotros nos interesa el rendimiento sin sacrificar notablemente la calidad visual, y eso vamos a conseguir. Solo necesitamos descargar el .ini (VRR o No VRR, eso a su elección) de Nexus Mods y vamos a agregarle y modificar un par de parámetros para que sea lo más óptimo posible.

Primero, desmarcamos la opción Solo lectura y abrimos el archivo .ini, agregaremos las siguientes tres líneas al final, sin los comentarios explicando qué función cumple cada una:


r.Shadow.Virtual.Enable=0 // Desactiva las sombras virtuales. Puede ocasionar glitches visuales en ciertos puntos del juego a cambio de una ganancia muy notable de rendimiento. Recomendado solamente en Ultimate Engine Tweaks. r.Shadow.Virtual.ForceOnlyVirtualShadowMaps=0 // Fuerza al motor desactivar las sombras virtuales en objetos o personajes en movimiento. Si no quieres deshabilitar las sombras virtuales, puedes optar por esta opción y obtener una pequeña mejora de rendimiento sin glitches visuales. Recomendado solamente en Ultimate Engine Tweaks. r.Lumen.TraceMeshSDFs=0 // Deshabilita el trazado detallado para el Ray Tracing por Software, Lumen en caso de Unreal Engine 5. Sacrifica la calidad del sombreado final a cambio de una buena mejora de rendimiento. Recomendado en Ultimate Engine Tweaks y las alternativas.

Advertencia: Dependiendo de tu equipo, el rendimiento puede ser peor después de desactivar las sombras virtuales, así que pruébalo y saca tus propias conclusiones.
A veces es mejor tenerlas activadas.

No recomiendo desactivarlas en las alternativas, puesto que la distancia del sombreado de cascada está reducido puesto a que las sombras virtuales hacen todo el trabajo y desactivarla solo dejará unas sombras muy malas en distancia y calidad.


Incluso puedes intentar agregar más parámetros experimentales que no he probado, por lo que no garantizo un mejor rendimiento:

r.VolumetricFog=0 // Desactiva la niebla volumétrica. r.VolumetricCloud=0 // Desactiva las nubes volumétricas. r.Nanite.MaxPixelsPerEdge=4 // En teoría limita la calidad de Nanite, reduciendo el detalle geométrico de cada modelado 3D a solo cuatro bordes por píxel.


CVars avanzados:

sg.ResolutionQuality=0 // Posiblemente sirva para limitar la escala de resolución interna. Este es el valor por defecto, por lo que desconozco cómo implementarlo correctamente, quizás en valor de porcentaje del 0 al 100. sg.ViewDistanceQuality=3 // Aparente se trata de la distancia de renderizado en nivel de escala gráfica, Épico. sg.AntiAliasingQuality=3 // Suavizado de bordes a nivel de escala gráfica, Épico. sg.ShadowQuality=0 // De acuerdo con la documentación de Epic Games[dev.epicgames.com], esto desactiva las sombras dentro del juego. Para un valor más bajo sin desactivarla por completo, recomiendo usar 1 como valor. sg.GlobalIlluminationQuality=3 // Iluminación global (Lumen) a nivel de escala, Épico. sg.ReflectionQuality=3 // Calidad de reflejos a nivel de escala, Épico. sg.PostProcessQuality=0 // Limita la calidad del post-procesado a lo más bajo posible según la documentación de Epic Games.[dev.epicgames.com] sg.TextureQuality=3 // Calidad de texturas a nivel de escala, Épico. sg.EffectsQuality=0 // Reduce la calidad de los efectos en pantalla a lo más bajo posible según la documentación de Epic Games.[dev.epicgames.com] sg.FoliageQuality=3 // Calidad del follaje a nivel de escala, Épico. sg.ShadingQuality=3 // Calidad del sombreado a nivel de escala, Épico.


Valores a tener en cuenta

0 es igual a Bajo y 3 es igual a Épico en Unreal Engine 5.
Recomiendo ir probando de 0 al 3 cada valor avanzado y ver cuál se adapta mejor a tus necesidades.

Créditos a la guía de PC Optimized Settings[pcoptimizedsettings.com]
Habilitando Frame Generation vía Engine.ini
Los siguientes CVars sirven para activar la generación de fotogramas sin necesidad de programas externos:

t.Streamline.Reflex.Enable=1 // Activa el modo Reflex, solo válido para NVIDIA r.Streamline.DLSSG.Enable=1 // Activa el Frame Generation en DLSS, solo válido para NVIDIA r.Streamline.DilateMotionVectors=1 // Debería ayudar con parpadeos en la imagen al usar DLSS + Frame Gen, solo válido para NVIDIA r.NGX.DLSS.AutoExposure=1 // Debería ayudar con problemas de ghosting al usar DLSS + Frame Gen, solo válido para NVIDIA r.FidelityFX.FI.Enabled=1 // Activa el Frame Generation en FSR, válido para cualquier tarjeta de vídeo

Recomiendo este método solo si no quieres usar OptiScaler, prefiero el otro método por las ventajas que otorga: una mejor implementación de las tecnologías de escalado y AntiLag 2 vía fakenvapi.


Más información abajo.
Actualizar DLSS [Solo GPU NVIDIA — FSR exclusivamente con OptiScaler]
Actualizar DLSS a la última versión siempre es lo más óptimo, sobre todo en juegos mal optimizados o con Frame Generation, ya que esta tecnología está ligada al DLSS en NVIDIA, así como el FSR para AMD.

Podemos hacer un método fácil: descargar DLSS Swapper[github.com] y ejecutarlo.

Una vez dentro de la aplicación, cargará todos los juegos de tu biblioteca. A nosotros nos interesa actualizar el de METAL GEAR SOLID Δ: SNAKE EATER



Solo basta con actualizar ambas librerías de DLSS y DLSS Frame Generation, aunque de momento conviene hacerlo de forma manual debido a que la última actualización reciente no está disponible en la herramienta.

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


Actualizar FSR (solo si usas el método OptiScaler)

En caso de actualizar el FSR, el método es exactamente el mismo con la aplicación, salvo que ahora verás las tecnologías de escalado de AMD e Intel



Recomiendo encarecidamente actualizar siempre estas librerías para tener el mejor rendimiento posible al usar tecnologías de escalado o generación de fotogramas.
Soluciones a errores visuales
Solución al cabello de los personajes en las cinemáticas

El único problema que presenta este .ini al desactivar las sombras virtuales es que se bugueará el sombreado en el cabello de los personajes en cinemáticas y momentos donde la luz varíe de oscuridad a claridad.



Esto se soluciona eliminando la siguiente línea de código en el .ini que aparece repetida dos veces, elimina ambas instancias



r.InstanceCulling.OcclusionCull=1



Una vez modificado el archivo .ini, guárdalo nuevamente en Solo lectura.

AVISO — Aún puede presentar algunos problemas en el cabello al desactivar las sombras virtuales, el juego no está totalmente pensado para jugarse sin esta característica. Esperemos que lo solucionen con un futuro parche.

Esta linea solo aparece en Ultimate Engine Tweaks, no en las alternativas.


Texturas negras a distancia

Esto se soluciona eliminando la siguiente línea de código en el .ini que aparece repetida dos veces, elimina ambas instancias:



r.Nanite.Streaming.StreamingPoolSize=768

Antes


Rocas de fondo sin texturas.

Después


Problema solucionado. Recuerda guardar el archivo .ini en Solo lectura.


Solucionado en la última actualización de Ultimate Engine Tweaks.
Comparativa
Antes



Configuración gráfica en Ultra, TSR nativo

Después



Configuración gráfica en Ultra, TSR nativo + .ini

No es una diferencia muy grande de rendimiento, pero sí de estabilidad. Si no quieren desactivar las sombras virtuales, esta es la mejor opción para disfrutar el juego sin tirones feos.




Configuración gráfica en Ultra, TSR nativo + .ini con las sombras virtuales desactivadas y el trazado detallado de Lumen limitado.

Esta es la diferencia de rendimiento que nos interesa, ya que el juego está capado a 60 FPS por defecto y desbloquearlo solo ocasiona problemas mayores. Nada que hacerle por ahora, solo esperar que la comunidad modder solucione lo que Konami no va a hacer.
Extra: Frame Generation vía OptiScaler
También podemos usar Frame Generation gracias a OptiScaler.

La instalación es sencilla, solo descárgalo del repositorio oficial[github.com] y extrae los archivos en:
steamapps\common\MGSDelta\MGSDelta\Binaries\Win64



Una vez extraído ejecutamos el archivo setup_windows.bat. Tranquilo, no es un virus. Acabamos de descargarlo del repositorio oficial.



Seleccionamos la opción 1, si usas ReShader puedes probar con distintas opciones hasta que funcionen ambos a la vez.



Aquí seleccionas el número acorde a tu gráfica. En mi caso es AMD, así que será el número 1



Muy importante seleccionar la primera opción aquí también si tu placa es AMD o Intel, de lo contrario el Frame Generation se usará con FSR y es pérdida de calidad al no haber opción de resolución nativa.



Listo. Sencillo, ¿verdad? You're pretty good! la referencia en inglés, por favor Ahora vamos a la configuración del juego


¿Cómo sabemos que el OptiScaler funciona?



Simple, si ves el siguiente mensaje al costado de la pantalla cuando ejecutas el juego, todo está funcionando como corresponde.


Habilitando el Frame Generation



Dentro de la pantalla de opciones gráficas seleccionamos DLSS, aún así nuestra placa no sea NVIDIA. Guardamos la configuración con la tecla Esc.

Presionamos la tecla Insert y vamos a ver el panel de configuración de OptiScaler



En mi caso selecciono FSR 3.X como Upscaler debido a que tengo una gráfica AMD y la implementación de OptiScaler es mucho mejor que la nativa del propio juego.



Seleccionamos OptiFG y guardamos el .ini con el botón Save INI, reiniciamos el juego y deberíamos tener las opciones de Frame Generator activas.


Activando la interfaz de Steam

OptiScaler desactiva las interfaces externas por defecto cuando activas el Frame Generator. Para volver a activarla nuevamente solo hay que modificar una línea del OptiScaler.ini generado en la carpeta donde lo descomprimimos.



Cambiamos la variable a

DisableOverlays = false

Guardamos el archivo, volvemos a ejecutar el juego.


Activando el Frame Generation

Una vez dentro del juego volvemos a pulsar la tecla Insert, veremos que el Frame Generation está habilitado y listo para activarse.



Seleccionamos Active, HUDFix, Extended, Allow Async, guardamos el .ini nuevamente con Save INI y listo, terminamos con el proceso.


Explicación de cada parámetro

Active — Activa el Frame Generation vía OptiFG. HUDFix — Activa la detección de HUD en los cuadros generados, esto sirve para solucionar el ghosting en el HUD cuando hay movimiento. Extended — Extiende la detección de HUD, esto sirve para evitar glitches gráficos mayores debido al FG, con un poco de ghosting a cambio. Allow Async — Mejora el rendimiento del generador de fotogramas al sincronizar el uso de recursos de forma eficiente.


¿Cómo sé que el Frame Generation está funcionando?

Si ves que en lugar de FPS sale FG en la interfaz de Steam felicidades, habilitaste el Frame Generation con éxito

Añadiendo AntiLag 2 al Frame Generation [AMD RDNA1 en adelante]
La contra de usar Frame Generation en cada juego es el input lag y la inconsistencia entre los frames reales con los generados. Esta sección está enfocada en implementar AntiLag 2 al OptiScaler y sacarle provecho a esa tecnología, aún así tengamos una placa de vídeo que no la tiene de forma nativa.

Método solo válido para las placas de video AMD
RX 5000 en adelante, probado en una RX 6800 XT


Primero necesitamos fakenvapi[github.com] de la mano del repositorio oficial de OptiScaler.
La instalación es igual a OptiScaler: solo copia y pega en la carpeta donde está el ejecutable (MGSDelta-Win64-Shipping.exe) de nuestro juego:



Una vez copiado, necesitamos descargar la última librería actualizada de NVIDIA DLSS. Podemos conseguirla en TechPowerUp[www.techpowerup.com], asegúrate de descargar la última versión (a fecha de hoy es la 310.4.0)

Mismo procedimiento: copiar y pegar



Importante y atención aquí: una vez extraído, renombrar el archivo a nvngx.dll (si no ven el .dll al final, no hace falta que lo agreguen por cuenta propia, en ese caso solo sería nvngx)


Por último vamos a modificar el archivo de configuración de OptiScaler, recuerda que es OptiScaler.ini, y vamos a cambiar un solo parámetro para asegurarnos que cargue el .dll que acabamos de extraer:



Cambiamos la variable a

OverrideNvapiDll = true

Guardamos el archivo y ejecutamos el juego.


Configurando AntiLag 2 dentro de las opciones de OptiScaler

Si todo salió bien, deberías notar que ahora en el panel de OptiScaler ahora hay una nueva sección que se llama fakenvapi



Solo resta configurarlo, para eso vamos a la pestaña que dice Force Reflex y la desplegamos



Seleccionamos Force Enable y guardamos el .ini con el botón Save INI.

Listo, solo nos queda verificar que esté funcionando correctamente. No hace falta reiniciar el juego para eso.


Cómo asegurarse que AntiLag 2 esté funcionando correctamente

Para asegurarnos que AntiLag 2 está implementado a nuestro juego, debemos presionar la combinación Alt + Shift + L dentro del juego cinco veces hasta que veas tres valores en el siguiente órden:



En caso que la interfaz no salga, o solo salga el valor FPS, vuelve a realizar el procedimiento, pues en caso de que el contador solo se limite a FPS significa que tienes habilitado el AntiLag desde el panel de control de AMD, sea específicamente para el juego o de manera global.

Eso es todo, recomiendo encarecidamente este procedimiento extra si estás usando OptiFG para una mejor experiencia.
Método óptimo de Frame Generation usando OptiScaler [Cualquier GPU]
Este puede ser un método algo engorroso después de tanto toquetear para hacer funcionar todo lo demás, pero créeme: vale totalmente la pena.

Para este necesitamos modificar el Engine.ini y habilitar la generación de fotogramas para NVIDIA y el modo Reflex tal cual como el método de arriba:

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
// Este CVAR soluciona un bug visual que ocasiona transparencia en el menú de supervivencia, menú de curación y menú de comida al usar DLSS Frame Generation. Gracias a Marcus Halberstram por la solución.

Una vez hecho, necesitamos descargar dlssg-to-fsr3[www.nexusmods.com] (no la DLSSTweakers Edition ni la Universal, la normal) y extraemos solamente el archivo dlssg_to_fsr3_amd_is_better.dll en la misma carpeta donde instalamos OptiScaler. (Importante, no reemplazar nvngx.dll)

Al ejecutarlo vamos al panel de configuración de OptiScaler pulsando la tecla Insert, cambiamos el método de OptiFG por FSR-FG via Nukem's DLSSG y guardamos el .ini con el botón Save INI.




Cómo asegurarse que el nuevo método de Frame Generation está funcionando

Si el procedimiento salió bien, deberías ver DLSS en el contado de FPS integrado de Steam



Puedes optar por seleccionar Fix broken visuals si aún tienes fallos visuales debido al Frame Generation.
Mods que recomiendo para una mejor experiencia
MGSDeltaFix[www.nexusmods.com]
— Desbloquea el límite predeterminado de 60 FPS (de forma experimental, al menos por ahora) y añade algunas mejoras de calidad de vida que se agradecen, como ofrecer una solución a las pantallas Ultrawide y saltar la larga intro de Konami.
Conclusión
Esperemos que Konami solucione los problemas de manera oficial (jaja, no va a pasar pero eh, al menos los modders sí lo hacen) y pronto. Por ahora es lo que tenemos, en caso de encontrar problemas y soluciones por mí parte, actualizaré la guía para brindar mí granito de arena a la comunidad.

Por último, espero que esta guía te haya servido y puedas disfrutar a pleno esta obra maestra atemporal lamentablemente opacado por el motor gráfico que Konami decidió usar.


⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Commencing Virtuous mission... now.
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Naked Snake — Big Boss
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀