Return to the post-apocalyptic world of Chornobyl. Players can finally roam a large open seamless world, featuring iconic elements from the original... Read more
The goal of the mod is to include as many optimizations as possible (for CPU/GPU/RAM/SSD) to remove most of the stuttering, improve performance, reduce input lag, and improve image clarity (removing film grain and chromatic aberration), without loss of visual quality and without the appearance of failures or crashes.
You can directly download the Engine.ini file to replace it or simply copy all the lines below and paste them at the end of your Engine.ini file, which is located at: localappdata/Stalker2/Saved/Config/WinGDK or for the Steam version along the path: localappdata/Stalker2/Saved/Config/Windows (if you don't see the Engine.ini file, just put the downloaded file there).
Notice some comment lines after ; (semicolons) which may be related to certain configurations (such as VRR usage, VRAM amount, etc.), so change them to suit your hardware.
[SystemSettings]
t.MaxFPS=120 ; Only if your max refresh rate is 120hz, otherwise change it accordingly
r.VSync=0 ; Only if you have VRR enabled on your display, otherwise delete it
r.D3D11.UseAllowTearing=1 ; Only if you have VRR enabled on your display, otherwise delete it
r.D3D12.UseAllowTearing=1 ; Only if you have VRR enabled on your display, otherwise delete it
r.Streaming. PoolSize=12288 ; Only for 16GB VRAM. If you have 24GB use 18432, for 12GB use 9216, for 8GB use 6144, for 6GB use 4608, for 4GB use 3072
r.MaxAnisotropy=16
r.Tonemapper. GrainQuantization=0
r.FilmGrain=0
r.NT.Lens.ChromaticAberration. Intensity=0
r.SceneColorFringeQuality=0
niagara. CreateShadersonload=1
r.TemporalAACurrentFrameWeight=0.15
r.TemporalAASamples=8
r.TemporalAASharpness=0.9
r.Tonemapper. Sharpen=0.8
r.RHICmdBypass=0
r.GPUCrashDebugging=0
r.AllowMultiThreadedShaderCreation=1
r.TextureStreaming. MinTextureResidentMipCount=7
r.Streaming.HLODStrategy=2
r.Streaming. LimitPoolSizeToVRAM=1
r.Streaming. MipBias=0
r.RenderTargetPoolMin=400
r.GTSyncType=1
r.EarlyZPass=2
r.AllowOcclusionQueries=1
r.GBufferFormats=3
r.AsyncCompute= 1
r.UseAsyncShaderPrecompilation=1
r.Streaming. DefragDynamicBounds=1
r.Streaming. UseAllMips=1
D3D12.MaximumFrameLatency=3
D3D12.AsyncDeferredDeletion=1
D3D12.AFRUseFramePacing=1
D3D11.MaximumFrameLatency=3
D3D11.AsyncDeferredDeletion=1
D3D11.AFRUseFramePacing=1
FX.AllowAsyncTick=1
FX.BatchAsync=1
FX.BatchAsyncBatchSize=8
FX.EarlyScheduleAsync=1
AllowAsyncRenderThreadUpdates=1
AudioThread. EnableBatchProcessing=1
AudioThread. BatchAsyncBatchSize=9999999
[ShaderCompiler]
bAllowAsynchronousShaderCompiling=True
bAllowCompilingThroughWorkerThreads=True
NumUnusedShaderCompilingThreads=1
bAsyncShaderCompileWorkerThreads=True
bEnableOptimizedShaderCompilation=True
MaxShaderJobBatchSize=50
MaxShaderJobs=500
[/Script/Engine. Engine]
bAllowMultiThreadedShaderCompile=True
[DevOptions. Shaders]
bAllowShaderCompilingWorker=True
bOptimizeForLocalShaderBuilds=True
WorkerThreadPriority=0
bUseBackgroundCompiling=True
[TextureStreaming]
r.TextureStreaming=1
r.Streaming. FullyLoadUsedTextures=1
r.Streaming. FullyLoadUsedTextures_Always=1
r.Streaming. DefragDynamicBounds=1
r.Streaming. FramesForFullUpdate=1
[Core.System]
r.XGEShaderCompile=1
r.XGEShaderCompile. Mode=3
r.IoDispatcher. CacheSize=4096
r.IoDispatcher. AsyncBatchReadSizeKB=4096
+Suppress=Scriptwarning
+Suppress=Error
+Suppress=Scriptlog
+Suppress=Warning
[Engine. InputSettings]
RawMouseInputEnabled=1
bEnableMouseSmoothing=False
bViewAccelerationEnabled=False
[Engine. RendererSettings]
r.AsyncCreateLightPrimitiveInteractions=1
r.RDG.AsyncCompute=1
r.AsyncPipelineCompile=1
r.AmbientOcclusion. AsyncComputeBudget=1
r.EnableAsyncComputeVolumetricFog=1
r.Streaming. UseAsyncRequestsForDDC=1
[RenderingThread]
bAllowThreadedRendering=True
bAllowAsyncRenderThreadUpdates=True
[/Script/Engine. StreamingSettings]
s.AsyncLoadingThreadEnabled=True
s.AsyncLoadingThreadEnabled=1
s.AsyncLoadingUseFullTimeLimit=1
s.MinBulkDataSizeForAsyncLoading=0
s.PriorityAsyncLoadingExtraTime=0
s.AsyncLoadingTimeLimit=4
[/Script/Engine. GarbageCollectionSettings]
gc.MultithreadedDestructionEnabled=1
[Engine. ErrorHandling]
bPromptForRemoteDebugging=False
bPromptForRemoteDebugOnEnsure=False
[/script/akaudio.aksettings]
bEnableMultiCoreRendering=True
[CrashReportClient]
bAgreeToCrashUpload=False
bImplicitSend=False
[Core.Log]
LogPluginManager=off
LogOnlineIdentity=off
LogOnlineSession=off
LogMemory=off
LogPakFile=off
LogTemp=off
LogLinker=off
LogOnline=off
LogOnlineGame=off
LogAnalytics=off
LogConfig=off
LogInteractiveProcess= off
LogInput=off
LogOnlineEntitlement=off
LogOnlineEvents=off
LogOnlineFriend=off
LogOnlinePresence=off
LogOnlineTitleFile=off
LogOnlineUser=off
Global=off
[Engine. GarbageCollectionSettings]
gc.MinimalAsyncGarbageCollectionTime=0.3
Цель мода в том, чтобы включить как можно больше оптимизаций (для CPU/GPU/RAM/SSD), чтобы убрать большую часть заиканий, улучшить производительность, уменьшить задержку ввода и улучшить четкость изображения (убрав зернистость пленки и хроматическую аберрацию), при этом без потери визуального качества и без появления сбоев или вылетов.
Можно напрямую скачать файл Engine.ini для замены или просто скопировать все строки ниже и вставить их в конец вашего файла Engine.ini, который находится по пути: localappdata/Stalker2/Saved/Config/WinGDK или для версии Steam по пути: localappdata/Stalker2/Saved/Config/Windows (если вы не видите файла Engine.ini, просто поместите скачанный файл туда).
Обратите внимание на некоторые строки комментариев после ; (точки с запятой) которые могут быть связаны с определенными конфигурациями (например, использование VRR, количество VRAM и т.д.), поэтому измените их в соответствии с вашим оборудованием.
[SystemSettings]
t.MaxFPS=120 ; Only if your max refresh rate is 120hz, otherwise change it accordingly
r.VSync=0 ; Only if you have VRR enabled on your display, otherwise delete it
r.D3D11.UseAllowTearing=1 ; Only if you have VRR enabled on your display, otherwise delete it
r.D3D12.UseAllowTearing=1 ; Only if you have VRR enabled on your display, otherwise delete it
r.Streaming.PoolSize=12288 ; Only for 16GB VRAM. If you have 24GB use 18432, for 12GB use 9216, for 8GB use 6144, for 6GB use 4608, for 4GB use 3072
r.MaxAnisotropy=16
r.Tonemapper.GrainQuantization=0
r.FilmGrain=0
r.NT.Lens.ChromaticAberration.Intensity=0
r.SceneColorFringeQuality=0
niagara.CreateShadersonload=1
r.TemporalAACurrentFrameWeight=0.15
r.TemporalAASamples=8
r.TemporalAASharpness=0.9
r.Tonemapper.Sharpen=0.8
r.RHICmdBypass=0
r.GPUCrashDebugging=0
r.AllowMultiThreadedShaderCreation=1
r.TextureStreaming.MinTextureResidentMipCount=7
r.Streaming.HLODStrategy=2
r.Streaming.LimitPoolSizeToVRAM=1
r.Streaming.MipBias=0
r.RenderTargetPoolMin=400
r.GTSyncType=1
r.EarlyZPass=2
r.AllowOcclusionQueries=1
r.GBufferFormats=3
r.AsyncCompute=1
r.UseAsyncShaderPrecompilation=1
r.Streaming.DefragDynamicBounds=1
r.Streaming.UseAllMips=1
D3D12.MaximumFrameLatency=3
D3D12.AsyncDeferredDeletion=1
D3D12.AFRUseFramePacing=1
D3D11.MaximumFrameLatency=3
D3D11.AsyncDeferredDeletion=1
D3D11.AFRUseFramePacing=1
FX.AllowAsyncTick=1
FX.BatchAsync=1
FX.BatchAsyncBatchSize=8
FX.EarlyScheduleAsync=1
AllowAsyncRenderThreadUpdates=1
AudioThread.EnableBatchProcessing=1
AudioThread.BatchAsyncBatchSize=9999999
[ShaderCompiler]
bAllowAsynchronousShaderCompiling=True
bAllowCompilingThroughWorkerThreads=True
NumUnusedShaderCompilingThreads=1
bAsyncShaderCompileWorkerThreads=True
bEnableOptimizedShaderCompilation=True
MaxShaderJobBatchSize=50
MaxShaderJobs=500
[/Script/Engine.Engine]
bAllowMultiThreadedShaderCompile=True
[DevOptions.Shaders]
bAllowShaderCompilingWorker=True
bOptimizeForLocalShaderBuilds=True
WorkerThreadPriority=0
bUseBackgroundCompiling=True
[TextureStreaming]
r.TextureStreaming=1
r.Streaming.FullyLoadUsedTextures=1
r.Streaming.FullyLoadUsedTextures_Always=1
r.Streaming.DefragDynamicBounds=1
r.Streaming.FramesForFullUpdate=1
[Core.System]
r.XGEShaderCompile=1
r.XGEShaderCompile.Mode=3
r.IoDispatcher.CacheSize=4096
r.IoDispatcher.AsyncBatchReadSizeKB=4096
+Suppress=Scriptwarning
+Suppress=Error
+Suppress=Scriptlog
+Suppress=Warning
[Engine.InputSettings]
RawMouseInputEnabled=1
bEnableMouseSmoothing=False
bViewAccelerationEnabled=False
[Engine.RendererSettings]
r.AsyncCreateLightPrimitiveInteractions=1
r.RDG.AsyncCompute=1
r.AsyncPipelineCompile=1
r.AmbientOcclusion.AsyncComputeBudget=1
r.EnableAsyncComputeVolumetricFog=1
r.Streaming.UseAsyncRequestsForDDC=1
[RenderingThread]
bAllowThreadedRendering=True
bAllowAsyncRenderThreadUpdates=True
[/Script/Engine.StreamingSettings]
s.AsyncLoadingThreadEnabled=True
s.AsyncLoadingThreadEnabled=1
s.AsyncLoadingUseFullTimeLimit=1
s.MinBulkDataSizeForAsyncLoading=0
s.PriorityAsyncLoadingExtraTime=0
s.AsyncLoadingTimeLimit=4
[/Script/Engine.GarbageCollectionSettings]
gc.MultithreadedDestructionEnabled=1
[Engine.ErrorHandling]
bPromptForRemoteDebugging=False
bPromptForRemoteDebugOnEnsure=False
[/script/akaudio.aksettings]
bEnableMultiCoreRendering=True
[CrashReportClient]
bAgreeToCrashUpload=False
bImplicitSend=False
[Core.Log]
LogPluginManager=off
LogOnlineIdentity=off
LogOnlineSession=off
LogMemory=off
LogPakFile=off
LogTemp=off
LogLinker=off
LogOnline=off
LogOnlineGame=off
LogAnalytics=off
LogConfig=off
LogInteractiveProcess=off
LogInput=off
LogOnlineEntitlement=off
LogOnlineEvents=off
LogOnlineFriend=off
LogOnlinePresence=off
LogOnlineTitleFile=off
LogOnlineUser=off
Global=off
[Engine.GarbageCollectionSettings]
gc.MinimalAsyncGarbageCollectionTime=0.3
Useful links: