S.T.A.L.K.E.R. 2: Heart of Chornobyl
The return to the post-apocalyptic world of Chernobyl. Players can finally roam through a large open seamless world containing iconic elements from the original... Read more
Disable grain and chromatic aberration
-
1.0otkljuchenie-zernistosti-i_1732174551_64557.zipArchive password: vgtimes
-
1.3otkljuchenie-zernistosti-i_1732250287_439208.zipArchive password: vgtimes
-
2.0otkljuchenie-zernistosti-i_1732283683_771702.zipArchive password: vgtimes
-
2.1otkljuchenie-zernistosti-i_1732452145_692647.zipArchive password: vgtimes
-
3.2otkljuchenie-zernistosti-i_1732785624_890210.zipArchive password: vgtimes
-
3.3otkljuchenie-zernistosti-i_1732871695_600418.zipArchive password: vgtimes
-
3.4otkljuchenie-zernistosti-i_1732939025_411701.zipArchive password: vgtimes
-
4.1otkljuchenie-zernistosti-i_1733127343_583795.zipArchive password: vgtimes
-
4.3otkljuchenie-zernistosti-i_1733538327_313977.zipArchive password: vgtimes
-
4.5otkljuchenie-zernistosti-i_1734332206_391024.zipArchive password: vgtimes
-
4.5.1otkljuchenie-zernistosti-i_1735010822_844609.zipArchive password: vgtimes
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).
It is recommended to pay attention to some comment lines after ; (semicolons) which may be related to certain configurations (such as VRR usage, VRAM amount, etc.), so it is important to change them to suit your hardware.
If FPS drops significantly and does not increase, you need to delete line r. OneFrameThreadLag=0.
[Core.System]
r.XGEShaderCompile. Mode=3
r.XGEShaderCompile=1
[SystemSettings]
r.VSync=0 ; 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 11GB use 8192, for 10GB use 7168, for 8GB use 6144, for 6GB use 5120, for 4GB use 4096
r.RenderTargetPoolMin=4096 ; Only for 16GB VRAM. If you have 24GB use 6144, for 12GB use 3072, for 11GB use 3072, for 10GB use 2560, for 8GB use 2048, for 6GB use 1536, for 4GB use 1024
r.EarlyZPass=3 ; Only for 16GB+ VRAM. If you have 8-12GB use 2, for less than 8GB use 1
r.Lumen.DiffuseIndirect. AsyncCompute=1 ; Set this to 0 if you notice white flashes in indoor areas
r.Lumen.Reflections. AsyncCompute=1 ; Set this to 0 if you notice white flashes in indoor areas
r.Lumen.Scene.Lighting. AsyncCompute=1 ; Set this to 0 if you notice white flashes in indoor areas
r.Lumen.ScreenProbeGather. AsyncCompute=1 ; Set this to 0 if you notice white flashes in indoor areas
r.IO.UseDirectStorage=1 ; Only if you have an NVMe SSD with DirectStorage support, otherwise delete it
r.OneFrameThreadLag=0 ; This will noticeably reduce the experience input latency, but if you drastically lower FPS after using this, delete this line
AudioThread. BatchAsyncBatchSize=256
AudioThread. EnableBatchProcessing=1
bUseAsyncComputeContext=True
csv.trackWaitsGT=0
csv.trackWaitsRT=0
FX.AllowAsyncTick=1
FX.BatchAsync=1
FX.BatchAsyncBatchSize=128
FX.EarlyScheduleAsync=1
fx.Niagara. AsyncCompute=1
fx.Niagara. DebugDraw.Enabled=0
landscape. RenderNanite=1
niagara. CreateShadersonload=1
r.AllowMultiThreadedShaderCreation=1
r.AsyncCompute. ParallelDispatch=1
r.AsyncCompute=1
r.DumpGPU=0
r.D3D11.GPUTimeout=0
r.D3D12.GPUTimeout=0
r.DynamicRes.OperationMode=0
r.Emitter. FastPoolEnable=1
r.FilmGrain=0
r.FinishCurrentFrame=0
r.ForceCPUAccessToGPUSkinVerts=1
r.ForceOcclusionQueryBatching=1
r.GeometryCollection. Nanite. AsyncCompute=1
r.GeometryCollection. Nanite=1
r.GPUCrashDebugging=0
r.GraphicsThread. EnableBackgroundThreads=1
r.GraphicsThread. UseThreadedDestruction=1
r.GTSyncType=2
r.HZBOcclusion=1
r.IO.VirtualTextures=1
r.Lumen.DiffuseIndirect. Allow=1
r.MaxAnisotropy=16
r.NT.Lens.ChromaticAberration. Intensity=0
r.ParallelGraphics=1
r.ParallelShaderCompile=1
r.ParallelTranslucency=1
r.PipelineStateCache.AsyncCompileAfterTypes=1
r.RenderThread. Priority=2
r.RenderThread. EnableTaskGraphThread=1
r.RHI.UseParallelDispatch=1
r.RHICmdBuffer. EnableThreadedCompletion=1
r.RHICmdBypass=0
r.RHICmdUseParallelAlgorithms=1
r.RHICmdUseThread=1
r.RHIThread=1
r.RHIThread. Priority=2
r.SceneColorFringeQuality=0
r.ShaderPipelineCache.AsyncCompileRate=32
r.ShaderPipelineCache.BackgroundBatchSize=32
r.ShaderPipelineCache.BatchTime=3
r.ShaderPipelineCache.Enabled=1
r.ShaderPipelineCache.StartupCache=1
r.Shadow. Virtual. Enable=1
r.Streaming. AmortizeCPUToGPUCopy=1
r.Streaming. Boost=1.5
r.Streaming. DropMips=0
r.Streaming. LimitPoolSizeToVRAM=1
r.Streaming. MaxMipLevelReduction=0
r.Streaming. MipBias=-0.5
r.Streaming. UseAllMips=1
r.TemporalAACurrentFrameWeight=0.15
r.TemporalAASamples=8
r.TemporalAASharpness=0.9
r.TextureStreaming. DiscardUnusedMips=1
r.TextureStreaming. UseDeferredLock=1
r.ThreadedShaderCompilation=1
r.ThreadPool.BackgroundThreadPriority=0
r.ThreadPool.EnableBackgroundThreads=1
r.ThreadPool.EnableHighPriorityThreads=1
r.Tonemapper. GrainQuantization=0
r.Tonemapper. Sharpen=0.5
r.UseAsyncShaderPrecompilation=1
r.VRS.Enable=1
r.VRS.EnableImage=1
r.VRS.ContrastAdaptiveShading=1
r.VRS.Tier= 2
Slate.bAllowThrottling=0
[ShaderCompiler]
bAllowAsynchronousShaderCompiling=True
bAllowCompilingThroughWorkerThreads=True
bAsyncShaderCompileWorkerThreads=True
bEnableOptimizedShaderCompilation=True
MaxShaderJobBatchSize=150
MaxShaderJobs=1000
NumUnusedShaderCompilingThreads=2
[ShaderPipelineCache]
r.ShaderPipelineCache.PrecompileBatchTime=5
r.ShaderPipelineCache.PrecompileFrameTime=20
r.ShaderPipelineCache.BackgroundBatchSize=32
r.ShaderPipelineCache.BatchTime=3
[/Script/Engine. Engine]
bAllowMultiThreadedShaderCompile=True
[DevOptions. Shaders]
bAllowShaderCompilingWorker=True
bOptimizeForLocalShaderBuilds=True
bUseBackgroundCompiling=True
WorkerThreadPriority=0
[TextureStreaming]
r.Streaming. MaxTempMemoryAllowed=16384 ; Only for 32GB+ RAM. If you have 16GB use 8192, for 8GB use 4096
r.Streaming. DefragDynamicBounds=1
r.Streaming. FramesForFullUpdate=1
r.Streaming. FullyLoadUsedTextures=1
r.Streaming. UseBackgroundThreadPool=1
r.TextureStreaming=1
r.TextureStreaming. FullyLoadUsedTextures=1
r.TextureStreaming. UseBackgroundThreadPool=1
[Engine. InputSettings]
bEnableMouseSmoothing=False
bViewAccelerationEnabled=False
RawMouseInputEnabled=1
[Engine. RendererSettings]
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
D3D11.AFRUseFramePacing=1
D3D11.AsyncDeferredDeletion=1
D3D11.MaximumFrameLatency=3
D3D12.AFRUseFramePacing=1
D3D12.AsyncDeferredDeletion=1
D3D12.MaximumFrameLatency=3
r.AsyncCreateLightPrimitiveInteractions=1
r.AsyncPipelineCompile=1
r.EnableAsyncComputeVolumetricFog=1
r.RDG.AsyncCompute=1
r.Streaming. UseAsyncRequestsForDDC=1
[Rendering]
r.EnableMultiThreadedRendering=1
[RenderingThread]
bAllowAsyncRenderThreadUpdates=True
bAllowThreadedRendering=True
[/Script/Engine. StreamingSettings]
s.AsyncLoadingThreadEnabled=1
s.AsyncLoadingTimeLimit=10
s.AsyncLoadingThreadPriority=2
s.AsyncLoadingUseFullTimeLimit=1
s.AsyncLoadingUseTimeLimit=1
s.LevelStreamingActorsUpdateTimeLimit=10.0
s.MinBulkDataSizeForAsyncLoading=262144
[/Script/Engine. GarbageCollectionSettings]
gc.MultithreadedDestructionEnabled=1
[/script/akaudio.aksettings]
bEnableMultiCoreRendering=True
[TaskGraph]
TaskGraph.Enable=1
[Physics]
p.AsyncSceneEnabled=1
[CrashReportClient]
bAgreeToCrashUpload=False
bImplicitSend=False
[Core.Log]
Global=none
LogAI=none
LogAnalytics=none
LogAnimation=none
LogBlueprint=none
LogConfig=none
LogCore=none
LogInput=none
LogInteractiveProcess=none
LogLinker=none
LogMemory=none
LogNetwork=none
LogOnline=none
LogOnlineEntitlement=none
LogOnlineEvents=none
LogOnlineFriend=none
LogOnlineGame=none
LogOnlineIdentity=none
LogOnlinePresence=none
LogOnlineSession=none
LogOnlineTitleFile=none
LogOnlineUser=none
LogPakFile=none
LogPhysics=none
LogPluginManager=none
LogRenderer=none
LogRenderTargetPool=none
LogShaderCompiler=none
LogStreaming=none
LogTemp=none
LogUObject=none
+Suppress=Scriptwarning
+Suppress=Error
+Suppress=Scriptlog
+Suppress=Warning
[Engine. ErrorHandling]
bPromptForRemoteDebugging=False
bPromptForRemoteDebugOnEnsure=False
Цель мода в том, чтобы включить как можно больше оптимизаций (для CPU/GPU/RAM/SSD), чтобы убрать большую часть заиканий, улучшить производительность, уменьшить задержку ввода и улучшить четкость изображения (убрав зернистость пленки и хроматическую аберрацию), при этом без потери визуального качества и без появления сбоев или вылетов.
Можно напрямую скачать файл Engine.ini для замены или просто скопировать все строки ниже и вставить их в конец вашего файла Engine.ini, который находится по пути: localappdata/Stalker2/Saved/Config/WinGDK или для версии Steam по пути: localappdata/Stalker2/Saved/Config/Windows (если вы не видите файла Engine.ini, просто поместите скачанный файл туда).
Рекомендуется обратить внимание на некоторые строки комментариев после ; (точки с запятой) которые могут быть связаны с определенными конфигурациями (например, использование VRR, количество VRAM и т.д.), поэтому важно изменить их в соответствии с вашим оборудованием.
Если сильно падает FPS, а не повышается, нужно удалить строку r.OneFrameThreadLag=0.
[Core.System]
r.XGEShaderCompile.Mode=3
r.XGEShaderCompile=1
[SystemSettings]
r.VSync=0 ; 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 11GB use 8192, for 10GB use 7168, for 8GB use 6144, for 6GB use 5120, for 4GB use 4096
r.RenderTargetPoolMin=4096 ; Only for 16GB VRAM. If you have 24GB use 6144, for 12GB use 3072, for 11GB use 3072, for 10GB use 2560, for 8GB use 2048, for 6GB use 1536, for 4GB use 1024
r.EarlyZPass=3 ; Only for 16GB+ VRAM. If you have 8-12GB use 2, for less than 8GB use 1
r.Lumen.DiffuseIndirect.AsyncCompute=1 ; Set this to 0 if you notice white flashes in indoor areas
r.Lumen.Reflections.AsyncCompute=1 ; Set this to 0 if you notice white flashes in indoor areas
r.Lumen.Scene.Lighting.AsyncCompute=1 ; Set this to 0 if you notice white flashes in indoor areas
r.Lumen.ScreenProbeGather.AsyncCompute=1 ; Set this to 0 if you notice white flashes in indoor areas
r.IO.UseDirectStorage=1 ; Only if you have an NVMe SSD with DirectStorage support, otherwise delete it
r.OneFrameThreadLag=0 ; This will noticeably reduce input latency, but if you experience drastically lower FPS after using this, delete this line
AudioThread.BatchAsyncBatchSize=256
AudioThread.EnableBatchProcessing=1
bUseAsyncComputeContext=True
csv.trackWaitsGT=0
csv.trackWaitsRT=0
FX.AllowAsyncTick=1
FX.BatchAsync=1
FX.BatchAsyncBatchSize=128
FX.EarlyScheduleAsync=1
fx.Niagara.AsyncCompute=1
fx.Niagara.DebugDraw.Enabled=0
landscape.RenderNanite=1
niagara.CreateShadersonload=1
r.AllowMultiThreadedShaderCreation=1
r.AsyncCompute.ParallelDispatch=1
r.AsyncCompute=1
r.DumpGPU=0
r.D3D11.GPUTimeout=0
r.D3D12.GPUTimeout=0
r.DynamicRes.OperationMode=0
r.Emitter.FastPoolEnable=1
r.FilmGrain=0
r.FinishCurrentFrame=0
r.ForceCPUAccessToGPUSkinVerts=1
r.ForceOcclusionQueryBatching=1
r.GeometryCollection.Nanite.AsyncCompute=1
r.GeometryCollection.Nanite=1
r.GPUCrashDebugging=0
r.GraphicsThread.EnableBackgroundThreads=1
r.GraphicsThread.UseThreadedDestruction=1
r.GTSyncType=2
r.HZBOcclusion=1
r.IO.VirtualTextures=1
r.Lumen.DiffuseIndirect.Allow=1
r.MaxAnisotropy=16
r.NT.Lens.ChromaticAberration.Intensity=0
r.ParallelGraphics=1
r.ParallelShaderCompile=1
r.ParallelTranslucency=1
r.PipelineStateCache.AsyncCompileAfterTypes=1
r.RenderThread.Priority=2
r.RenderThread.EnableTaskGraphThread=1
r.RHI.UseParallelDispatch=1
r.RHICmdBuffer.EnableThreadedCompletion=1
r.RHICmdBypass=0
r.RHICmdUseParallelAlgorithms=1
r.RHICmdUseThread=1
r.RHIThread=1
r.RHIThread.Priority=2
r.SceneColorFringeQuality=0
r.ShaderPipelineCache.AsyncCompileRate=32
r.ShaderPipelineCache.BackgroundBatchSize=32
r.ShaderPipelineCache.BatchTime=3
r.ShaderPipelineCache.Enabled=1
r.ShaderPipelineCache.StartupCache=1
r.Shadow.Virtual.Enable=1
r.Streaming.AmortizeCPUToGPUCopy=1
r.Streaming.Boost=1.5
r.Streaming.DropMips=0
r.Streaming.LimitPoolSizeToVRAM=1
r.Streaming.MaxMipLevelReduction=0
r.Streaming.MipBias=-0.5
r.Streaming.UseAllMips=1
r.TemporalAACurrentFrameWeight=0.15
r.TemporalAASamples=8
r.TemporalAASharpness=0.9
r.TextureStreaming.DiscardUnusedMips=1
r.TextureStreaming.UseDeferredLock=1
r.ThreadedShaderCompilation=1
r.ThreadPool.BackgroundThreadPriority=0
r.ThreadPool.EnableBackgroundThreads=1
r.ThreadPool.EnableHighPriorityThreads=1
r.Tonemapper.GrainQuantization=0
r.Tonemapper.Sharpen=0.5
r.UseAsyncShaderPrecompilation=1
r.VRS.Enable=1
r.VRS.EnableImage=1
r.VRS.ContrastAdaptiveShading=1
r.VRS.Tier=2
Slate.bAllowThrottling=0
[ShaderCompiler]
bAllowAsynchronousShaderCompiling=True
bAllowCompilingThroughWorkerThreads=True
bAsyncShaderCompileWorkerThreads=True
bEnableOptimizedShaderCompilation=True
MaxShaderJobBatchSize=150
MaxShaderJobs=1000
NumUnusedShaderCompilingThreads=2
[ShaderPipelineCache]
r.ShaderPipelineCache.PrecompileBatchTime=5
r.ShaderPipelineCache.PrecompileFrameTime=20
r.ShaderPipelineCache.BackgroundBatchSize=32
r.ShaderPipelineCache.BatchTime=3
[/Script/Engine.Engine]
bAllowMultiThreadedShaderCompile=True
[DevOptions.Shaders]
bAllowShaderCompilingWorker=True
bOptimizeForLocalShaderBuilds=True
bUseBackgroundCompiling=True
WorkerThreadPriority=0
[TextureStreaming]
r.Streaming.MaxTempMemoryAllowed=16384 ; Only for 32GB+ RAM. If you have 16GB use 8192, for 8GB use 4096
r.Streaming.DefragDynamicBounds=1
r.Streaming.FramesForFullUpdate=1
r.Streaming.FullyLoadUsedTextures=1
r.Streaming.UseBackgroundThreadPool=1
r.TextureStreaming=1
r.TextureStreaming.FullyLoadUsedTextures=1
r.TextureStreaming.UseBackgroundThreadPool=1
[Engine.InputSettings]
bEnableMouseSmoothing=False
bViewAccelerationEnabled=False
RawMouseInputEnabled=1
[Engine.RendererSettings]
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
D3D11.AFRUseFramePacing=1
D3D11.AsyncDeferredDeletion=1
D3D11.MaximumFrameLatency=3
D3D12.AFRUseFramePacing=1
D3D12.AsyncDeferredDeletion=1
D3D12.MaximumFrameLatency=3
r.AsyncCreateLightPrimitiveInteractions=1
r.AsyncPipelineCompile=1
r.EnableAsyncComputeVolumetricFog=1
r.RDG.AsyncCompute=1
r.Streaming.UseAsyncRequestsForDDC=1
[Rendering]
r.EnableMultiThreadedRendering=1
[RenderingThread]
bAllowAsyncRenderThreadUpdates=True
bAllowThreadedRendering=True
[/Script/Engine.StreamingSettings]
s.AsyncLoadingThreadEnabled=1
s.AsyncLoadingTimeLimit=10
s.AsyncLoadingThreadPriority=2
s.AsyncLoadingUseFullTimeLimit=1
s.AsyncLoadingUseTimeLimit=1
s.LevelStreamingActorsUpdateTimeLimit=10.0
s.MinBulkDataSizeForAsyncLoading=262144
[/Script/Engine.GarbageCollectionSettings]
gc.MultithreadedDestructionEnabled=1
[/script/akaudio.aksettings]
bEnableMultiCoreRendering=True
[TaskGraph]
TaskGraph.Enable=1
[Physics]
p.AsyncSceneEnabled=1
[CrashReportClient]
bAgreeToCrashUpload=False
bImplicitSend=False
[Core.Log]
Global=none
LogAI=none
LogAnalytics=none
LogAnimation=none
LogBlueprint=none
LogConfig=none
LogCore=none
LogInput=none
LogInteractiveProcess=none
LogLinker=none
LogMemory=none
LogNetwork=none
LogOnline=none
LogOnlineEntitlement=none
LogOnlineEvents=none
LogOnlineFriend=none
LogOnlineGame=none
LogOnlineIdentity=none
LogOnlinePresence=none
LogOnlineSession=none
LogOnlineTitleFile=none
LogOnlineUser=none
LogPakFile=none
LogPhysics=none
LogPluginManager=none
LogRenderer=none
LogRenderTargetPool=none
LogShaderCompiler=none
LogStreaming=none
LogTemp=none
LogUObject=none
+Suppress=Scriptwarning
+Suppress=Error
+Suppress=Scriptlog
+Suppress=Warning
[Engine.ErrorHandling]
bPromptForRemoteDebugging=False
bPromptForRemoteDebugOnEnsure=False
Useful links: