Fix UE4 and UE5 Games Stuttering

Harsh Clif
8 Min Read

Both the Unreal Engine 4 and 5 have a notorious reputation for causing stutters in games that use these engines. Don’t get me wrong, the UE engines are one of the best in the market based on the scope of creativity they provide to the developers, but like everything else in the world, the UE engine is not perfect as well. Fortunately, there are a bunch of fixes that can help you remove stutters in games that use these engines. In this guide, we will provide you with in-depth steps to fix stuttering in UE4 and UE5 games for both high-end PCs as well as low-end.

UE4 and UE5 Games Stuttering Fix

A word of caution before you go ahead with the fixes mentioned in this post. The guide will either make the game exceptionally good or wrong. The guide involves editing the config file of the game. So, make sure that you have taken a backup of the config file in case the below fixes did not work.

To fix the stuttering in your Unreal Engine game, go through the below process. We have settings for both high-end and low-end PCs. The fix for high-end PCs is safer, so you should try that first. Here are the steps to follow.

  1. Locate your games Config File (usually found in C:\Users\%username%\AppData\Local)
  2. At the above location, look for the game publisher’s name and open the folder
  3. Go to Saved > Config > and look for WindowsClient, or WindowsNoEditor, or WinGDK.
  4. Open the folder and choose to edit the Engine.ini file using Notepad.
  5. Copy and paste the below command at the bottom of the page.
  6. Save the file
  7. Right-click on the file and choose Properties > General > check Read-only

Stutter Fix for High Graphics

[/Script/Engine.RendererSettings]
r.OneFrameThreadLag=1
r.FinishCurrentFrame=0
r.RenderTargetPoolMin=1000
r.GPUCrashDebugging=0
r.GPUParticle.Simulate=1
r.SceneColorFormat=3
r.StencilLODMode=2
r.SupportDepthOnlyIndexBuffers=1
r.SupportReversedIndexBuffers=1
r.TargetPrecompileFrameTime=0
r.PredrawBatchTime=-1
r.AccelPredrawBatchTime=0
r.AccelTargetPrecompileFrameTime=0
r.GTSyncType=1
r.AllowOcclusionQueries=1
r.DownsampledOcclusionQueries=1
r.bForceCPUAccessToGPUSkinVerts=1
r.bForceCPUAccessToGPUSkinVerts=True
r.DiscardUnusedQuality=1
r.AsyncCreateLightPrimitiveInteractions=1
r.RDG.AsyncCompute=1
r.AsyncCompute=1
r.AsyncPipelineCompile=1
r.TransientResourceAliasing.Buffers=1
r.UseVolumetricFogLDS=1
r.VT.MaxAnisotropy=2
r.VT.PoolSizeScale=48
r.Emitter.FastPoolEnable=1
r.MultithreadedLightmapEncode=1
r.MultithreadedShadowmapEncode=1
r.HZB.BuildUseCompute=1
r.AmbientOcclusion.AsyncComputeBudget=1
r.AmbientOcclusion.Compute=2
r.SceneRenderTargetResizeMethod=2
r.SceneRenderTargetResizeMethodForceOverride=1
r.ParallelRendering=1
r.ParallelShadows=1
r.ParallelTranslucency=1
r.ParallelVelocity=1
r.RenderTargetPool.AllowMultipleAliasingDiscardsPerFrame=1
r.VirtualTexture=1
r.VirtualTextureReducedMemory=1
r.OptimizeForUAVPerformance=1
r.EnableAsyncComputeVolumetricFog=1
r.LODFadeTime=3
r.AllowDownsampledStandardTranslucency=1
r.CustomDepth.Order=0
r.Cache.UpdateEveryFrame=1
r.Cache.DrawInterpolationPoints=1
r.Shadow.WholeSceneShadowCacheMb=1024
r.Shadow.CachePreshadow=1
r.D3D12.ExecuteCommandListTask=1
r.DX11NVAfterMathEnabled=0
r.D3D11.Depth24Bit=0
r.D3D.ForceDXC=1
r.D3D.ForceShaderConductorDXCRewrite=1
r.Vulkan.PipelineCacheFromShaderPipelineCache=1
r.CompileShadersForDevelopment=0
r.ShaderPipelineCache.StartupMode=3
r.ShaderPipelineCache.Enabled=1
r.ShaderPipelineCache.ReportPSO=0
r.ShaderPipelineCache.GameFileMaskEnabled=1
r.ShaderPipelineCache.LazyLoadShadersWhenPSOCacheIsPresent=1
r.ShaderPipelineCache.BatchSize=256
r.ShaderPipelineCache.BatchTime=82
r.ShaderPipelineCache.BackgroundBatchTime=10
r.ShaderPipelineCache.PreOptimizeEnabled=1
r.ShaderPipelineCache.SaveUserCache=1
r.ShaderPipelineCache.LogPSO=0
r.ShaderPipelineCache.SaveBoundPSOLog=1
r.ShaderPipelineCache.PrecompileBatchSize=256
r.ShaderPipelineCache.BackgroundBatchSize=5
r.ShaderPipelineCache.PrecompileBatchTime=52
r.ShaderPipelineCache.AlwaysGenerateOSCache=0
r.ShaderComplexity.CacheShaders=1
r.UseShaderBinaryCache=1
r.Shaders.ZeroInitialise=1
r.ShaderPipelines=1
r.Shaders.Optimize=1
r.Shaders.FastMath=1
r.UseShaderCaching=1
r.UseShaderPredraw=1
r.UseAsyncShaderPrecompilation=1
r.XGEShaderCompile=1
r.XGEShaderCompile.Mode=1
r.XGEShaderCompile.Xml.BatchGroupSize=256
r.XGEShaderCompile.Xml.BatchSize=64
r.XGEShaderCompile.Xml.JobTimeout=0.500000
r.FastVRam.Tonemap=1
r.FastVRam.Upscale=1
r.FastVRam.VelocityFlat=1
r.FastVRam.VelocityMax=1
r.FastVRam.VolumetricFog=1
r.FastVRam.MotionBlur=1
r.FastVRam.SceneColor=1
r.FastVRam.SceneDepth=1
r.FastVRam.ScreenSpaceShadowMask=1
r.FastVRam.ScreenSpaceShadowMask=1
r.FastVRam.HZB=1
r.FastVRam.Histogram=1
r.FastVRam.HistogramReduce=1
r.FastVRam.LPV=0
r.FastVRam.DistanceFieldNormal=1
r.FastVRam.DistanceFieldShadows=1
r.FastVRam.DistanceFieldTileIntersectionResources=1
r.FastVRam.DistortHistory=1
r.FastVRam.Distortion=1
r.FastVRam.Downsample=1
r.FastVRam.EyeAdaptation=1
r.FastVRam.ForwardLightingCullingResources=1
r.FastVRam.DistanceFieldAODownsampledBentNormal=1
r.FastVRam.DistanceFieldAOHistory=1
r.FastVRam.DistanceFieldAOScreenGridResources=1
r.FastVRam.DistanceFieldCulledObjectBuffers=1
r.FastVRam.DOFPostfilter=1
r.FastVRam.DOFReduce=1
r.FastVRam.DOFSetup=1
r.FastVRam.CombineLUTs=1
r.FastVRam.BokehDOF=1
r.FastVRam.ShadowCSM=1
r.FastVRam.ShadowPerObject=1
r.FastVRam.PostProcessMaterial=1
r.FastVRam.GBufferA=1
r.FastVRam.GBufferB=1
r.FastVRam.GBufferC=1
r.FastVRam.GBufferD=1
r.FastVRam.GBufferE=1
r.FastVRam.GBufferVelocity=1
r.Nanite.DisocclusionHack=1
r.Streaming.Boost=1
r.Streaming.MaxReferenceChecksBeforeStreamOut=0.5
r.Streaming.FlushTimeOut=2
r.Streaming.ScaleTexturesByGlobalMyBias=0.5
r.Streaming.MaxHiddenPrimitiveViewBoost=1.5
r.Streaming.MinBoost=0.3
r.Streaming.PoolSizeForMeshes=-1
r.Streaming.PrioritizeMeshLODRetention=1
r.Streaming.UseBackgroundThreadPool=1
r.Streaming.UseAsyncRequestsForDDC=1
r.Streaming.AmortizeCPUToGPUCopy=1
r.Streaming.MinMipForSplitRequest=3
r.Streaming.HiddenPrimitiveScale=0.0333
r.Streaming.MaxNumTexturesToStreamPerFrame=15
r.Streaming.NumStaticComponentsProcessedPerFrame=2
r.Streaming.FramesForFullUpdate=5
r.Streaming.UseMaterialData=1
r.Streaming.UseNewMetrics=1
r.Streaming.DefragDynamicBounds=1
r.Streaming.HLODStrategy=2
r.Streaming.DropMips=0
r.Streaming.MipBias=1
r.Streaming.UseAllMips=1
r.Streaming.UseFixedPoolSize=0
r.Streaming.LimitPoolSizeToVRAM=1
r.Streaming.UsePerTextureBias=1
r.Streaming.FullyLoadUsedTextures=0
r.Streaming.FramesForFullUpdate=60
r.Streaming.PoolSize=0

[TextureStreaming]
PoolSizeVRAMPercentage=70
UseDynamicStreaming=True

[SystemSettings]
niagara.CreateShadersOnLoad=1
D3D12.PSO.DiskCache=1
D3D12.PSO.DriverOptimizedDiskCache=1
D3D12.AFRSyncTemporalResources=1
D3D12.AFRUseFramePacing=1
D3D12.AsyncDeferredDeletion=1
D3D12.ForceThirtyHz=0
D3D12.InsertOuterOcclusionQuery=1
D3D12.ResidencyManagement=1
D3D12.StablePowerState=0
D3D12.SyncWithDWM=0
D3D12.TexturePoolOnlyAccountStreamableTexture=1
D3D12.UseUpdateTexture3DComputeShader=0
D3D12.ZeroBufferSizeInMB=128
D3D12.MaximumFrameLatency=3
D3D11.AFRSyncTemporalResources=1
D3D11.AFRUseFramePacing=1
D3D11.AdjustTexturePoolSizeBasedOnBudget=1
D3D11.AsyncDeferredDeletion=1
D3D11.ForceThirtyHz=0
D3D11.InsertOuterOcclusionQuery=1
D3D11.ResidencyManagement=1
D3D11.StablePowerState=0
D3D11.SyncWithDWM=0
D3D11.TexturePoolOnlyAccountStreamableTexture=1
D3D11.UseUpdateTexture3DComputeShader=0
D3D11.ZeroBufferSizeInMB=32
AudioThread.BatchAsyncBatchSize=9999999
AudioThread.UseBackgroundThreadPool=1
AudioThread.EnableBatchProcessing=1
GeometryCache.InterpolateFrames=1
GeometryCache.OffloadUpdate=1
RHI.MaximumFrameLatency=3
RHI.SyncWithDWM=0
GamethreadUpdates=1

[ConsoleVariables]
FX.AllowAsyncTick=1
FX.BatchAsync=1
FX.BatchAsyncBatchSize=8
FX.MaxCPUParticlesPerEmitter=50
FX.MaxGPUParticlesSpawnedPerFrame=2048
FX.AllowGPUParticles=1
FX.EarlyScheduleAsync=1
FX.AllowGPUSorting=1
FX.FXAllowParticleMeshLODs=1
FX.AllowCulling=0
AllowAsyncRenderThreadUpdates=1
AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates=1
AllowAsyncRenderThreadUpdatesEditor=1

[/Script/Engine.StreamingSettings]
s.AsyncLoadingThreadEnabled=True
s.AsyncLoadingThreadEnabled=1
s.LevelStreamingActorsUpdateTimeLimit=1
s.UnregisterComponentsTimeLimit=1
s.AsyncLoadingUseFullTimeLimit=0
s.IoDispatcherCacheSizeMB=256
s.LevelStreamingComponentsRegistrationGranularity=1
s.LevelStreamingComponentsUnregistrationGranularity=1
s.MaxIncomingRequestsToStall=0
s.MaxReadyRequestsToStallMB=0
s.MinBulkDataSizeForAsyncLoading=0
s.PriorityAsyncLoadingExtraTime=0
s.PriorityLevelStreamingActorsUpdateExtraTime=0
s.ForceGCAfterLevelStreamedOut=0
s.AsyncLoadingTimeLimit=1
s.ContinuouslyIncrementalGCWhileLevelsPendingPurge=0

[/Script/Engine.AnimationSettings]
a.ParallelAnimUpdate=1

[/Script/Engine.GarbageCollectionSettings]
gc.MultithreadedDestructionEnabled=1
gc.TimeBetweenPurgingPendingKillObjects=90
gc.NumRetriesBeforeForcingGC=1
gc.MinDesiredObjectsPerSubTask=10
gc.TimeBetweenPurgingPendingKillObjects=90

[/Script/Engine.Engine]
bAllowMultiThreadedShaderCompile=True
bUseBackgroundLevelStreaming=True
bSmoothFrameRate=True
SmoothedFrameRateRange=(LowerBound=(Type=Inclusive,Value=0.000000),UpperBound=(Type=Exclusive,Value=200.000000))

[CrashReportClient]
bAgreeToCrashUpload=false
bImplicitSend=False

[Engine.ErrorHandling]
bPromptForRemoteDebugging=False
bPromptForRemoteDebugOnEnsure=False

[Core.Log]
LogPluginManager=all off
LogOnlineIdentity=all off
LogOnlineSession=all off
LogMemory=all off
LogPakFile=all off
LogTemp=all off
LogLinker=all off
LogOnline=all off
LogOnlineGame=all off
LogAnalytics=all off
LogConfig=all off
LogInteractiveProcess=all off
LogInput=all off
LogOnlineEntitlement=all off
LogOnlineEvents=all off
LogOnlineFriend=all off
LogOnlinePresence=all off
LogOnlineTitleFile=all off
LogOnlineUser=all off
Global=off

[Core.System]
+Suppress=Scriptwarning
+Suppress=Error
+Suppress=Scriptlog
+Suppress=Warning

Stutter Fix for Low Graphics

If you did not see improvements after implementing the above code. Try the below code, which can work fro games that are too stubborn.

[/Script/Engine.RendererSettings]
r.Tonemapper.GrainQuantization=0
r.Tonemapper.Quality=0
r.SceneColorFringeQuality=0
r.DepthOfFieldQuality=0
r.DisableDistortion=1
r.FilmGrain=0
r.SubsurfaceQuality=0
r.LensFlareQuality=0
r.MotionBlurQuality=0
r.SSGI.HalfRes=1
r.SSS.HalfRes=1
r.GTAO.Downsample=1
r.SSR.HalfResSceneColor=1
r.OneFrameThreadLag=1
r.FinishCurrentFrame=0
r.RenderTargetPoolMin=1000
r.GPUCrashDebugging=0
r.GPUParticle.Simulate=1
r.SceneColorFormat=3
r.StencilLODMode=2
r.SupportDepthOnlyIndexBuffers=1
r.SupportReversedIndexBuffers=1
r.TargetPrecompileFrameTime=0
r.PredrawBatchTime=-1
r.AccelPredrawBatchTime=0
r.AccelTargetPrecompileFrameTime=0
r.GTSyncType=1
r.AllowOcclusionQueries=1
r.DownsampledOcclusionQueries=1
r.bForceCPUAccessToGPUSkinVerts=1
r.bForceCPUAccessToGPUSkinVerts=True
r.DiscardUnusedQuality=1
r.AsyncCreateLightPrimitiveInteractions=1
r.RDG.AsyncCompute=1
r.AsyncCompute=1
r.AsyncPipelineCompile=1
r.TransientResourceAliasing.Buffers=1
r.UseVolumetricFogLDS=1
r.VT.MaxAnisotropy=2
r.VT.PoolSizeScale=48
r.Emitter.FastPoolEnable=1
r.MultithreadedLightmapEncode=1
r.MultithreadedShadowmapEncode=1
r.HZB.BuildUseCompute=1
r.AmbientOcclusion.AsyncComputeBudget=1
r.AmbientOcclusion.Compute=2
r.SceneRenderTargetResizeMethod=2
r.SceneRenderTargetResizeMethodForceOverride=1
r.ParallelRendering=1
r.ParallelShadows=1
r.ParallelTranslucency=1
r.ParallelVelocity=1
r.RenderTargetPool.AllowMultipleAliasingDiscardsPerFrame=1
r.VirtualTexture=1
r.VirtualTextureReducedMemory=1
r.OptimizeForUAVPerformance=1
r.EnableAsyncComputeVolumetricFog=1
r.LODFadeTime=3
r.AllowDownsampledStandardTranslucency=1
r.CustomDepth.Order=0
r.Cache.UpdateEveryFrame=1
r.Cache.DrawInterpolationPoints=1
r.Shadow.WholeSceneShadowCacheMb=1024
r.Shadow.CachePreshadow=1
r.D3D12.ExecuteCommandListTask=1
r.DX11NVAfterMathEnabled=0
r.D3D11.Depth24Bit=0
r.D3D.ForceDXC=1
r.D3D.ForceShaderConductorDXCRewrite=1
r.Vulkan.PipelineCacheFromShaderPipelineCache=1
r.CompileShadersForDevelopment=0
r.ShaderPipelineCache.StartupMode=3
r.ShaderPipelineCache.Enabled=1
r.ShaderPipelineCache.ReportPSO=0
r.ShaderPipelineCache.GameFileMaskEnabled=1
r.ShaderPipelineCache.LazyLoadShadersWhenPSOCacheIsPresent=1
r.ShaderPipelineCache.BatchSize=256
r.ShaderPipelineCache.BatchTime=82
r.ShaderPipelineCache.BackgroundBatchTime=10
r.ShaderPipelineCache.PreOptimizeEnabled=1
r.ShaderPipelineCache.SaveUserCache=1
r.ShaderPipelineCache.LogPSO=0
r.ShaderPipelineCache.SaveBoundPSOLog=1
r.ShaderPipelineCache.PrecompileBatchSize=256
r.ShaderPipelineCache.BackgroundBatchSize=5
r.ShaderPipelineCache.PrecompileBatchTime=52
r.ShaderPipelineCache.AlwaysGenerateOSCache=0
r.ShaderComplexity.CacheShaders=1
r.UseShaderBinaryCache=1
r.Shaders.ZeroInitialise=1
r.ShaderPipelines=1
r.Shaders.Optimize=1
r.Shaders.FastMath=1
r.UseShaderCaching=1
r.UseShaderPredraw=1
r.UseAsyncShaderPrecompilation=1
r.XGEShaderCompile=1
r.XGEShaderCompile.Mode=1
r.XGEShaderCompile.Xml.BatchGroupSize=256
r.XGEShaderCompile.Xml.BatchSize=64
r.XGEShaderCompile.Xml.JobTimeout=0.500000
r.FastVRam.Tonemap=1
r.FastVRam.Upscale=1
r.FastVRam.VelocityFlat=1
r.FastVRam.VelocityMax=1
r.FastVRam.VolumetricFog=1
r.FastVRam.MotionBlur=1
r.FastVRam.SceneColor=1
r.FastVRam.SceneDepth=1
r.FastVRam.ScreenSpaceShadowMask=1
r.FastVRam.ScreenSpaceShadowMask=1
r.FastVRam.HZB=1
r.FastVRam.Histogram=1
r.FastVRam.HistogramReduce=1
r.FastVRam.LPV=0
r.FastVRam.DistanceFieldNormal=1
r.FastVRam.DistanceFieldShadows=1
r.FastVRam.DistanceFieldTileIntersectionResources=1
r.FastVRam.DistortHistory=1
r.FastVRam.Distortion=1
r.FastVRam.Downsample=1
r.FastVRam.EyeAdaptation=1
r.FastVRam.ForwardLightingCullingResources=1
r.FastVRam.DistanceFieldAODownsampledBentNormal=1
r.FastVRam.DistanceFieldAOHistory=1
r.FastVRam.DistanceFieldAOScreenGridResources=1
r.FastVRam.DistanceFieldCulledObjectBuffers=1
r.FastVRam.DOFPostfilter=1
r.FastVRam.DOFReduce=1
r.FastVRam.DOFSetup=1
r.FastVRam.CombineLUTs=1
r.FastVRam.BokehDOF=1
r.FastVRam.ShadowCSM=1
r.FastVRam.ShadowPerObject=1
r.FastVRam.PostProcessMaterial=1
r.FastVRam.GBufferA=1
r.FastVRam.GBufferB=1
r.FastVRam.GBufferC=1
r.FastVRam.GBufferD=1
r.FastVRam.GBufferE=1
r.FastVRam.GBufferVelocity=1
r.Nanite.DisocclusionHack=1
r.Streaming.Boost=0.3
r.Streaming.MaxReferenceChecksBeforeStreamOut=0.5
r.Streaming.FlushTimeOut=2
r.Streaming.ScaleTexturesByGlobalMyBias=0.5
r.Streaming.MaxHiddenPrimitiveViewBoost=1.5
r.Streaming.MinBoost=0.3
r.Streaming.PoolSizeForMeshes=-1
r.Streaming.PrioritizeMeshLODRetention=1
r.Streaming.UseBackgroundThreadPool=1
r.Streaming.UseAsyncRequestsForDDC=1
r.Streaming.AmortizeCPUToGPUCopy=1
r.Streaming.MinMipForSplitRequest=3
r.Streaming.HiddenPrimitiveScale=0.0333
r.Streaming.MaxNumTexturesToStreamPerFrame=1
r.Streaming.NumStaticComponentsProcessedPerFrame=2
r.Streaming.FramesForFullUpdate=5
r.Streaming.UseMaterialData=1
r.Streaming.UseNewMetrics=1
r.Streaming.DefragDynamicBounds=1
r.Streaming.HLODStrategy=0
r.Streaming.DropMips=0
r.Streaming.MipBias=1
r.Streaming.UseAllMips=1
r.Streaming.UseFixedPoolSize=0
r.Streaming.LimitPoolSizeToVRAM=1
r.Streaming.UsePerTextureBias=1
r.Streaming.FullyLoadUsedTextures=0
r.TextureStreaming=1
r.RenderTargetPoolMin=500
r.Streaming.FramesForFullUpdate=60
r.Streaming.PoolSize=1280

[TextureStreaming]
PoolSizeVRAMPercentage=70
UseDynamicStreaming=True

[SystemSettings]
niagara.CreateShadersOnLoad=1
D3D12.PSO.DiskCache=1
D3D12.PSO.DriverOptimizedDiskCache=1
D3D12.AFRSyncTemporalResources=1
D3D12.AFRUseFramePacing=1
D3D12.AsyncDeferredDeletion=1
D3D12.ForceThirtyHz=0
D3D12.InsertOuterOcclusionQuery=1
D3D12.ResidencyManagement=1
D3D12.StablePowerState=0
D3D12.SyncWithDWM=0
D3D12.TexturePoolOnlyAccountStreamableTexture=1
D3D12.UseUpdateTexture3DComputeShader=0
D3D12.ZeroBufferSizeInMB=128
D3D12.MaximumFrameLatency=3
D3D11.AFRSyncTemporalResources=1
D3D11.AFRUseFramePacing=1
D3D11.AdjustTexturePoolSizeBasedOnBudget=1
D3D11.AsyncDeferredDeletion=1
D3D11.ForceThirtyHz=0
D3D11.InsertOuterOcclusionQuery=1
D3D11.ResidencyManagement=1
D3D11.StablePowerState=0
D3D11.SyncWithDWM=0
D3D11.TexturePoolOnlyAccountStreamableTexture=1
D3D11.UseUpdateTexture3DComputeShader=0
D3D11.ZeroBufferSizeInMB=32
AudioThread.BatchAsyncBatchSize=9999999
AudioThread.UseBackgroundThreadPool=1
AudioThread.EnableBatchProcessing=1
GeometryCache.InterpolateFrames=1
GeometryCache.OffloadUpdate=1
RHI.MaximumFrameLatency=3
RHI.SyncWithDWM=0
GamethreadUpdates=1

[ConsoleVariables]
FX.AllowAsyncTick=1
FX.BatchAsync=1
FX.BatchAsyncBatchSize=8
FX.MaxCPUParticlesPerEmitter=50
FX.MaxGPUParticlesSpawnedPerFrame=2048
FX.AllowGPUParticles=1
FX.EarlyScheduleAsync=1
FX.AllowGPUSorting=1
FX.FXAllowParticleMeshLODs=1
FX.AllowCulling=0
AllowAsyncRenderThreadUpdates=1
AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates=1
AllowAsyncRenderThreadUpdatesEditor=1

[/Script/Engine.StreamingSettings]
s.AsyncLoadingThreadEnabled=True
s.AsyncLoadingThreadEnabled=1
s.LevelStreamingActorsUpdateTimeLimit=1
s.UnregisterComponentsTimeLimit=1
s.AsyncLoadingUseFullTimeLimit=0
s.IoDispatcherCacheSizeMB=256
s.LevelStreamingComponentsRegistrationGranularity=1
s.LevelStreamingComponentsUnregistrationGranularity=1
s.MaxIncomingRequestsToStall=0
s.MaxReadyRequestsToStallMB=0
s.MinBulkDataSizeForAsyncLoading=0
s.PriorityAsyncLoadingExtraTime=0
s.PriorityLevelStreamingActorsUpdateExtraTime=0
s.ForceGCAfterLevelStreamedOut=0
s.AsyncLoadingTimeLimit=1
s.ContinuouslyIncrementalGCWhileLevelsPendingPurge=0

[/Script/Engine.AnimationSettings]
a.ParallelAnimUpdate=1

[/Script/Engine.GarbageCollectionSettings]
gc.MultithreadedDestructionEnabled=1
gc.TimeBetweenPurgingPendingKillObjects=90
gc.NumRetriesBeforeForcingGC=1
gc.MinDesiredObjectsPerSubTask=10
gc.TimeBetweenPurgingPendingKillObjects=90

[/Script/Engine.Engine]
bAllowMultiThreadedShaderCompile=True
bUseBackgroundLevelStreaming=True
bSmoothFrameRate=True
SmoothedFrameRateRange=(LowerBound=(Type=Inclusive,Value=0.000000),UpperBound=(Type=Exclusive,Value=200.000000))

[CrashReportClient]
bAgreeToCrashUpload=false
bImplicitSend=False

[Engine.ErrorHandling]
bPromptForRemoteDebugging=False
bPromptForRemoteDebugOnEnsure=False

[Core.Log]
LogPluginManager=all off
LogOnlineIdentity=all off
LogOnlineSession=all off
LogMemory=all off
LogPakFile=all off
LogTemp=all off
LogLinker=all off
LogOnline=all off
LogOnlineGame=all off
LogAnalytics=all off
LogConfig=all off
LogInteractiveProcess=all off
LogInput=all off
LogOnlineEntitlement=all off
LogOnlineEvents=all off
LogOnlineFriend=all off
LogOnlinePresence=all off
LogOnlineTitleFile=all off
LogOnlineUser=all off
Global=off

[Core.System]
+Suppress=Scriptwarning
+Suppress=Error
+Suppress=Scriptlog
+Suppress=Warning

Useful Steam Launch Options

If your game is on Steam you can use the below launch options, which can also reduce stutters in games. If your VRAM is lower than 8GB, try the below code.

-xgeshadercompile -nothreadtimeout

If the VRAM is more than 8GB, enter the below launch options:

-xgeshadercompile -nothreadtimeout -NoVerifyGC

Advanced Config Commands (can crash the game)

If all the above fixes for UE4 and UE5 games stuttering did not work, you can try the below commands, but quite often these commands can crash games. So, try the below commands and if the game does not crash, you will see noticeable improvement in the game’s stuttering.

[/Script/Engine.RendererSettings]
r.CreateShadersOnLoad=1
r.HZBOcclusion=2
r.SkinCache.CompileShaders=1
r.DBuffer=0

[/Script/Engine.GarbageCollectionSettings]
gc.CreateGCClusters=1
Share This Article
Follow:
He is caught in a loop between writing about games and playing them. It's a vicious cycle. Although he's biased towards PC, you can occasionally find him on the PS5. He does not own an Xbox Consoles but plans on getting one soon.
Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *