The Callisto Protocol – Guide to Stutter Fix and Smoother FPS

A guide to fix the games stuttering / micro-stutter issue that is common in UE4 Games.

How to Get Smoother FPS and Fix Stuttering

Note: Credit goes to Pure

Beginning

As you have noticed, The Callisto Protocol suffers from a stutter related to texture streaming and shader cache. This is a common issue across UE4 games.

Engine.ini Edits for Fix

I have negated most of the games stutter by applying the same fixes I used for the previous 3 titles.

Navigate to the games config folder

  • \AppData\Local\CallistoProtocol\Saved\Config\WindowsNoEditor

Once here open up Engine.ini

At the end of Engine.ini paste the following

[/script/engine.renderersettings]
niagara.CreateShadersOnLoad=1
r.CreateShadersOnLoad=1
D3D12.PSO.DiskCache=1
D3D12.PSO.DriverOptimizedDiskCache=1
r.HZBOcclusion=0
r.AllowOcclusionQueries=1
r.Shaders.Optimize=1
[TextureStreaming]
r.Streaming.Boost=1
r.Streaming.FullyLoadUsedTextures=1
r.Streaming.HLODStrategy=2
r.bForceCPUAccessToGPUSkinVerts=True
r.Streaming.FramesForFullUpdate=60
r.Streaming.DropMips=0
r.Streaming.LimitPoolSizeToVRAM=0
r.Streaming.MipBias=0
r.Streaming.UseAllMips=1
r.Streaming.UseMaterialData=1
r.Streaming.UseNewMetrics=1
r.Streaming.UsePerTextureBias=1
r.Shaders.Optimize=1
r.Shaders.FastMath=1
r.UseShaderCaching=1
r.UseShaderPredraw=1
r.UseAsyncShaderPrecompilation=1
r.TargetPrecompileFrameTime=13
r.PredrawBatchTime=13
r.AccelPredrawBatchTime=0
r.AccelTargetPrecompileFrameTime=0
r.Streaming.DefragDynamicBounds=1
s.AsyncLoadingThreadEnabled=True
r.Streaming.PoolSize=0
[ConsoleVariables]
AllowAsyncRenderThreadUpdates=1
AllowAsyncRenderThreadUpdates=1
AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates=1
AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates=1
AllowAsyncRenderThreadUpdatesEditor=1
AllowAsyncRenderThreadUpdatesEditor=1
s.AsyncLoadingThreadEnabled=True

These are tweaks used across UE4 games that help get rid of the stutter.

One thing to note is, these tweaks also cause the game to load the shaders before gameplay, which will result in slightly longer load times.

Additional Changes

Launch options

I used the same launch option I used for Remnant.

-dx12 -xgeshadercompile

Now that the Stutter is mitigated. Lets talk about the drops.

The games FPS drops are a different issue, these can’t just be solved by editing the Engine.ini

Here are my settings to smooth the game out and help get rid of the drops. (Apply in menu)

Max FPS = 60 (I also applied this in nvidia control panel)

  • The game on my system ran at around 120-144 fps unlocked with no ray tracing. But the performance is so unpredictable that it randomly dropping to 40fps from 120 is extremely noticeable. Keeping this locked at 60 makes dips less apparent.

Motion Blur = OFF

  • While some people actually like motion blur in games, enabling it on a game with fps dips makes it look way worse as it will dip while the screen is blurred.

Set Upscaling to AMD FSR 2 to performance

  • While FSR seems to be completely broken for some people atm, this works well if it happens to work for you. You can also try disabling it as some have reported success with that

Render mode = DX12

  • This provided the best FPS on my system. Although some have reported better stabillity on DX11. Since DX12 performance is vastly different on different hardware, its worth running a benchmark on both to see losses/gains. (Just note, DX11 disables some settings.)

I hope this helped smooth out your game and experience.

Jan Bonkoski
About Jan Bonkoski 831 Articles
A lifelong gamer Jan Bakowski, also known as Lazy Dice, was always interested in gaming and writing. He lives in Poland (Wrocław). His passion for games began with The Legend of Zelda: Ocarina of Time on the Nintendo 64 back in 1998. Proud owner of Steam Deck, which has become his primary gaming platform. He’s been making guides since 2012. Sharing his gaming experience with other players has become not only his hobby but also his job.

1 Comment

  1. Are you sure these settings work? I tried them but ex. The r.Streaming.FramesForFullUpdate=60 which I set to 80 does not work…. It does not cap the game to 80 but still full 120 fps. So I’m thinking if this does not work maybe a lot other config lines does not either?

Leave a Reply

Your email address will not be published.


*