• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Hogwarts Legacy PC Performance Thread

Kuranghi

Member
There is no traditional fullscreen mode. This windowed fullscreen mode is locked to the resolution windows is running at.

It's pretty shitty. They've effectively locked out downsampling.

Fuck that noise, I've no time for fucking DWM and its fake fullscreen exclusive borderless window overlay "but its even better than FSE lol don't worry" whatever trash framepacing + triple ass-fucked v-sync DX12 with a a ton of input lag thats not present if you just force Fullscreen Exclusive and use double buffered drive v-sync/RTSS.

If a game doesn't have FSE I just wouldn't play it on PC, by the time games go full DX12 they better have sorted all that shite out or at least shown devs how to not fuck it up. Kena Bridge of Spirits is trash in this regard, I could either play in DX11 with tons of stuttering and low input lag or in DX12 with its forced borderless fullscreen, no stuttering but unplayable input lag. I just stopped playing it, will wait for new PC at this point to see if a newer CPU fixes it.
 

LiquidMetal14

hide your water-based mammals
Added notes and credit to the contributors in the OP.

Can anyone find all the possible settings to edit in the engine.ini?

Want to compile all the possible edits you can make.
 

hyperbertha

Member
Experimental shots of the built in NVIDIA photo mode

hogwartslegacyscreens5kcd3.png


hogwartslegacyscreensh6f1q.png
where did the occlusion run off to? You sure you are keeping at high?
 

winjer

Gold Member
BTW, this is the engine.ini file I use when playing UE4 games. If anyone cares to try it on this game.
It does not include tweaks for RT. To enable SSGI, set that setting to 1

Change the line r.HZBOcclusion to 1 if you are using an AMD GPU.

[/script/engine.renderersettings]
r.Reflections.Denoiser=2
r.Reflections.Denoiser.TemporalAccumulation=1
r.SSGI.Enable=0
r.SSGI.HalfRes=1
r.SSGI.Quality=2
r.MipMapLODBias=0
r.SSR.Temporal=1
r.TemporalAA.Algorithm=0
r.TemporalAAFilterSize=1
r.TemporalAAPauseCorrect=1
r.TemporalAACatmullRom=1
r.TemporalAACurrentFrameWeight=0.25
r.TemporalAASamples=4
r.TemporalAASharpness=0
r.Tonemapper.Sharpen=0
r.PostProcessAAQuality=6
r.ScreenPercentage=100
r.TemporalAA.Upsampling=1
r.Upscale.Quality=5
r.SceneColorFringe.Max=0
r.SceneColorFringeQuality=0
r.MotionBlur.Max=0
r.LensFlareQuality=0
r.MotionBlurQuality=0
r.Vignette=0
r.Tonemapper.Quality=2
r.Tonemapper.GrainQuantization=0
r.TonemapperGamma=0
r.TessellationAdaptivePixelsPerTriangle=64
r.DefaultFeature.LensFlare=0
r.TriangleOrderOptimization=1
r.Shaders.Optimize=1
r.Shaders.Optimize=1
r.OptimizeForUAVPerformance=1
r.AOAsyncBuildQueue=1
r.AOComputeShaderNormalCalculation=1
r.MaxAnisotropy=16
r.VirtualTexture=1
r.FastVRam.BokehDOF=1
r.FastVRam.CircleDOF=1
r.FastVRam.CombineLUTs=1
r.FastVRam.Distortion=1
r.FastVRam.HZB=1
r.FastVRam.Histogram=1
r.FastVRam.SSR=1
r.FastVRam.ShadowPointLight=1
r.FastVRam.Tonemap=1
r.FastVRam.Upscale=1
r.DX11NVAfterMathEnabled=0
fx.ForceCompileOnLoad=1
D3D12.PSO.DiskCache=1
D3D12.PSO.DriverOptimizedDiskCache=1
D3D11.AFRSyncTemporalResources=1
D3D11.AFRUseFramePacing=1
D3D11.AdjustTexturePoolSizeBasedOnBudget=1
D3D11.AsyncDeferredDeletion=1
r.AsyncCompute=1
D3D11.ForceThirtyHz=0
D3D11.InsertOuterOcclusionQuery=1
D3D11.ResidencyManagement=1
D3D11.StablePowerState=0
D3D11.SyncWithDWM=1
D3D11.TexturePoolOnlyAccountStreamableTexture=1
D3D11.UseUpdateTexture3DComputeShader=1
D3D11.ZeroBufferSizeInMB=32
D3D12.AFRSyncTemporalResources=1
D3D12.AFRUseFramePacing=1
D3D12.AsyncDeferredDeletion=1
D3D12.ForceThirtyHz=0
D3D12.InsertOuterOcclusionQuery=1
D3D12.ResidencyManagement=1
D3D12.StablePowerState=0
D3D12.SyncWithDWM=1
D3D12.TexturePoolOnlyAccountStreamableTexture=1
D3D12.UseUpdateTexture3DComputeShader=1
D3D12.ZeroBufferSizeInMB=128
D3D12.MaximumFrameLatency=0
r.CompileShadersForDevelopment=0
r.D3D.ForceShaderConductorDXCRewrite=1
r.ShaderPipelineCache.PreOptimizeEnabled=1
r.ShaderPipelineCache.MaxPrecompileTime=500
r.ShaderPipelineCache.SaveUserCache=1
r.ShaderPipelineCache.Save=1
r.ShaderPipelineCache.Enabled=1
r.ShaderPipelineCache.LogPSO=1
r.ShaderPipelineCache.SaveBoundPSOLog=1
r.ShaderPipelines=1
r.ProgramBinaryCashe.Enable=1
r.Shaders.ZeroInitialise=1
r.Shadow.CachePreshadow=1
r.Shadow.CacheWPOPrimitives=1
r.SceneRenderTargetResizeMethod=2
r.SceneRenderTargetResizeMethodForceOverride=1
r.ShaderComplexity.CacheShaders=1
r.ShaderPipelineCache.StartupMode=1
r.ShaderPipelineCache.ReportPSO=1
r.ShaderPipelineCache.GameFileMaskEnabled=1
r.ShaderPipelineCache.LazyLoadShadersWhenPSOCacheIsPresent=1
r.ShaderPipelineCache.BatchSize=50
r.ShaderPipelineCache.PrecompileBatchSize=50
r.Shaders.FastMath=1
r.UseShaderCaching=1
r.UseShaderPredraw=1
FX.AllowGPUParticles=1
FX.AllowAsyncTick=1
FX.EarlyScheduleAsync=1
r.ForceAllCoresForShaderCompiling=1
r.TargetPrecompileFrameTime=-1
r.UseShaderDrawLog=1
r.UseShaderBinaryCache=0
r.PredrawBatchTime=-1
r.InitialShaderLoadTime=-1
r.AccelPredrawBatchTime=0
r.AccelTargetPrecompileFrameTime=0
FX.BatchAsync=1
FX.BatchAsyncBatchSize=1
r.Emitter.FastPoolEnable=1
FX.AllowGPUSorting=1
FX.AllowCulling=0
r.D3D.ForceDXC=1
r.GTSyncType=1
niagara.CreateShadersOnLoad=1
r.ShaderPipelineCache.AlwaysGenerateOSCache=0
r.XGEShaderCompile=1
r.XGEShaderCompile.Mode=1
r.XGEShaderCompile.Xml.BatchGroupSize=256
r.XGEShaderCompile.Xml.BatchSize=16
r.XGEShaderCompile.Xml.JobTimeout=0.500000
r.RHICmdAsyncRHIThreadDispatch=1
r.RHICmdBalanceParallelLists=2
r.RHICmdBalanceTranslatesAfterTasks=1
r.RHICmdBasePassDeferredContexts=1
r.RHICmdCollectRHIThreadStatsFromHighLevel=0
r.RHICmdDeferSkeletalLockAndFillToRHIThread=1
r.RHICmdPrePassDeferredContexts=1
r.RHICmdShadowDeferredContexts=1
r.RHICmdSpewParallelListBalance=0
r.RHICmdTranslucencyPassDeferredContexts=1
r.RHICmdUseDeferredContexts=1
r.RHICmdUseParallelAlgorithms=1
r.RHICmdVelocityPassDeferredContexts=1
r.RHICmdUseThread=1
r.RHICmdWidth=16
r.ParallelRendering=1
r.ParallelShadows=1
r.ParallelTranslucency=1
r.ParallelVelocity=1
r.SkeletalMeshLODBias=0
r.LandscapeLODBias=0
r.ParticleLODBias=0
r.HighQualityLightMaps=1
r.CreateShadersOnLoad=1
r.HZBOcclusion=0
r.AllowOcclusionQueries=1
r.OcclusionQueryLocation=1
r.AMDDisableAsyncTextureCreation=0
net.AllowAsyncLoading=1
r.AMDD3D11MultiThreadedDevice=1
r.RayTracing.AMDHitToken=1

[/script/engine.engine]
FrameRateLimit=144.000000
bEnableMouseSmoothing=False
r.OneFrameThreadLag=0
bAllowMultiThreadedShaderCompile=true

[ConsoleVariables]
AllowAsyncRenderThreadUpdates=1
AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates=1
AllowAsyncRenderThreadUpdatesEditor=1
s.AsyncLoadingThreadEnabled=True

[TextureStreaming]
r.MeshStreaming=1
r.Streaming.Boost=2
r.Streaming.FullyLoadUsedTextures=1
r.Streaming.HLODStrategy=2
r.bForceCPUAccessToGPUSkinVerts=True
r.Streaming.FramesForFullUpdate=1
r.Streaming.UseBackgroundThreadPool=1
r.Cache.UpdateEveryFrame=1
r.Streaming.DropMips=0
r.Streaming.LimitPoolSizeToVRAM=0
r.Streaming.MaxTempMemoryAllowed=5000
r.Streaming.MinMipForSplitRequest=0
r.Streaming.HiddenPrimitiveScale=1
r.DetailMode=3
r.LODFadeTime=0.2
r.Streaming.MipBias=0
r.Streaming.UseAllMips=1
r.Streaming.UseMaterialData=1
r.Streaming.UseNewMetrics=1
r.Streaming.UsePerTextureBias=1
GeometryCache.InterpolateFrames=1
GeometryCache.OffloadUpdate=1
r.UseAsyncShaderPrecompilation=1
r.AmbientOcclusion.AsyncComputeBudget=1
r.HZB.BuildUseCompute=1
r.MultithreadedLightmapEncode=1
r.MultithreadedShadowmapEncode=1
r.RDG.AsyncCompute=1
RHI.MaximumFrameLatency=3
r.Streaming.DefragDynamicBounds=1
s.AsyncLoadingThreadEnabled=1
r.Streaming.PoolSize=0
r.VirtualTextures=1
r.Streaming.AmortizeCPUToGPUCopy=1
r.Streaming.MaxNumTexturesToStreamPerFrame=3
r.Streaming.NumStaticComponentsProcessedPerFrame=3
s.AsyncLoadingThreadEnabled=1
s.AsyncLoadingTimeLimit=2.0
s.LevelStreamingActorsUpdateTimeLimit=1.00
s.UnregisterComponentsTimeLimit=0.00
s.AsyncLoadingUseFullTimeLimit=0
s.ContinuouslyIncrementalGCWhileLevelsPendingPurge=1
s.PriorityAsyncLoadingExtraTime=10.00
s.IoDispatcherCacheSizeMB=2048
s.LevelStreamingComponentsRegistrationGranularity=1
s.LevelStreamingComponentsUnregistrationGranularity=1
s.MaxIncomingRequestsToStall=1
s.MaxReadyRequestsToStallMB=0
s.MinBulkDataSizeForAsyncLoading=0
 
Last edited:

hyperbertha

Member
Damn if all future pc games maintain this level of optimization seems a 4090 is must for even 1440p going forward lmao. Who knows what full next gen game will be like? 1440p 30 fps 4090? :pie_roffles:
 

LiquidMetal14

hide your water-based mammals
BTW, this is the engine.ini file I use when playing UE4 games. If anyone cares to try it on this game.
It does not include RT. To enable SSGI, set that setting to 1

Change the line r.HZBOcclusion to 1 if you are using an AMD GPU.
I'll add most of this to the OP I haven't tried to edit these things but they are good to know. Maybe with that I can find a guide to all those settings with explanation. Thanks!
 

winjer

Gold Member
Damn, that is a ton lol

Have to find the most essential stuff. Thanks for sharing that.

It has a search function, so you can type what you are looking for.

Don't forget the tweaks for disabling CFG, Fullscreen optimizations and change DPI settings.
Several users had good improvements with these.

Here are a few tweaks for Windows that can reduce stuttering:

The most important is disabling Control Flow Guard, since this is a DX12 game.
Open Exploit Protection via your Windows Search bar. Then, click On the Program Settings Tab and click On The “+ Add programs to customise”. Then, click On Choose Exact File Path, find game's exe and open it. Afterwards, you’ll have to navigate its Program Settings, scroll down to “Control Flow Guard”, put check mark in “Override System Settings”, turn it Off and Apply. Restart your PC.

Next, open the game. Then the Task Manager. Look for the game executable, then click on Open File Location. This is important, because UE4 creates 2 exe files for each game and we want the right one.
Right click on the game's executable, then properties, then the Compatibility tab. Then click on Disable Full Screen Optimizations.
Then click on Override high DPI scaling Behavior. Choose Application. Apply these settings and restart the game.
 
Last edited:

winjer

Gold Member
Added those, trying to curate which ini tweaks apply to this game as there are many commands.

My file has all that were posted, and a bunch more.
But my ini file has a few diferences in how it manages things.
For example, many place r.Streaming.PoolSize with a fixed value. Devs also do this.
But I use "0". What this does is let the engine manage in real time the PoolSize. This means it adapts to most situations and PCs.
Another setting is r.Streaming.LimitPoolSizeToVRAM=1
I don't do this, because in GPUs with low vram, it causes problems. This should only be used for GPUs with large amounts of vram, like a 3090, 4090, 7900XTX, etc.
 
Last edited:
This fixed stutterings for me:

  1. Navigate to "AppData\Local\Hogwarts Legacy\Saved\Config\WindowsNoEditor" and backup "Engine.ini". Add the following to the bottom of the file and save it:
[SystemSettings]

r.bForceCPUAccessToGPUSkinVerts=True

r.GTSyncType=1

r.OneFrameThreadLag=1

r.FinishCurrentFrame=0

r.TextureStreaming=1

r.Streaming.PoolSize=3072

r.Streaming.LimitPoolSizeToVRAM=1



[ConsoleVariables]

AllowAsyncRenderThreadUpdates=1

AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates=1

AllowAsyncRenderThreadUpdatesEditor=1

Source
Thank you, following the instructions in that link fixed the game for me. Went from basically unplayable stutters and frame drops to a solid 60fps.

Running very well for me now

i9-9900k
rtx 2080
32gb ram

1440p with DLSS balanced and all setting on high except fog and shadows at medium
 
Thank you, following the instructions in that link fixed the game for me. Went from basically unplayable stutters and frame drops to a solid 60fps.

Running very well for me now

i9-9900k
rtx 2080
32gb ram

1440p with DLSS balanced and all setting on high except fog and shadows at medium
I still have the occasional fps drop. Inside of hogwarts it's still a mess. But those insane fps drops to the 20s are gone.
 

kizito

Member
In rt mode? What gpu do you have?

I don’t have stuttering. Just poor performance as soon as i step outside with rt on
Hey, RTX 3070, i7-10700k, Samsung 980 Pro. Sorry, I don't play with ray-tracing on in this game, the ambient occlusion is not good enough in RT in Hogwarts Legacy and the general cost of RT in this specific game is too high for my taste. Can't help you for RT, I am talking about rasterized.
 


This seems to be THE fix for stuttering on the lower VRAM 3070 and 3080.

Someone should tell Avalanche that they should probably do a better job with managing memory use on the PC version. The game seems to be designed completely for the consoles and it overflows the shit out of memory on PC's for no apparent reason.
 

yamaci17

Member


This seems to be THE fix for stuttering on the lower VRAM 3070 and 3080.

Someone should tell Avalanche that they should probably do a better job with managing memory use on the PC version. The game seems to be designed completely for the consoles and it overflows the shit out of memory on PC's for no apparent reason.

I need some actual testing to show differences between default and modified texture vram allocation. what if this causes low quality assets to be loaded,?
 
Last edited:

ClosBSAS

Member


This seems to be THE fix for stuttering on the lower VRAM 3070 and 3080.

Someone should tell Avalanche that they should probably do a better job with managing memory use on the PC version. The game seems to be designed completely for the consoles and it overflows the shit out of memory on PC's for no apparent reason.

fuck yes...smoooth as butter now thanks man
 

LiquidMetal14

hide your water-based mammals
I tried the latest fixes and they do little when you already have a high end card. There's definitely something that can be tweaked other than turning game settings down. The high end is too fast to not get it smoother. It really is mainly in Hogwarts and Hogsmead mainly.
 

TwinB242

Member
Im playing at 1440p on a 8gb 3070Ti and Im also getting insane framerate dips like the ones mentioned in that Reddit post. I have several monitoring tools running at the same time and both my CPU and GPU usage remain super low, as are the operating temps across the board. Very bizarre so ill have to try those reddit fixes to see if they work.
 

nath999

Member


This seems to be THE fix for stuttering on the lower VRAM 3070 and 3080.

Someone should tell Avalanche that they should probably do a better job with managing memory use on the PC version. The game seems to be designed completely for the consoles and it overflows the shit out of memory on PC's for no apparent reason.


Did this and then played for 3 hours and the framerate was pretty damn solid, just a few stutters here and there but very very playable. Before some cutscenes were like 20 fps or less.

3080 and a 5950x with 64GB. Turned off Ray Tracing.
 

SlimySnake

Flashless at the Golden Globes
I am pretty sure that the RAM is the cause of a lot of these issues. RAM usage is 11-12 GB with RT off at ultra settings. Jumps to 15.8 GB with RT on.

My 3080's vram was 8GB before RT and 8GB after which was odd so I tried going from DLSS quality to performance and game crashed after saying it couldnt allocate enough memory in vram. shouldnt performance mode REDUCE the vram cost?

i bought the 32GB ram and will try tomorrow. I just hate that the GPU usage is 50% indoors, 75% outdoors and the game still drops frames in hogsmead to 40 fps at times. Maybe i will try high instead of ultra presets with RT off and see if it improves performance.
 

LiquidMetal14

hide your water-based mammals
I am pretty sure that the RAM is the cause of a lot of these issues. RAM usage is 11-12 GB with RT off at ultra settings. Jumps to 15.8 GB with RT on.

My 3080's vram was 8GB before RT and 8GB after which was odd so I tried going from DLSS quality to performance and game crashed after saying it couldnt allocate enough memory in vram. shouldnt performance mode REDUCE the vram cost?

i bought the 32GB ram and will try tomorrow. I just hate that the GPU usage is 50% indoors, 75% outdoors and the game still drops frames in hogsmead to 40 fps at times. Maybe i will try high instead of ultra presets with RT off and see if it improves performance.
It's definitely worse knowing the GPU isn't being fully utilized. CPU I can kind of sort of see but what's all them cores there for when sitting idle or partially used. GPU needs to be 99% most of the time to counter when the game gets demanding.

It can be done.
 

Topher

Identifies as young
I tried the latest fixes and they do little when you already have a high end card. There's definitely something that can be tweaked other than turning game settings down. The high end is too fast to not get it smoother. It really is mainly in Hogwarts and Hogsmead mainly.

Didn't help my performance at all. I have a 4080. I'm still getting capped at 60fps for some reason.
 

SlimySnake

Flashless at the Golden Globes


This seems to be THE fix for stuttering on the lower VRAM 3070 and 3080.

Someone should tell Avalanche that they should probably do a better job with managing memory use on the PC version. The game seems to be designed completely for the consoles and it overflows the shit out of memory on PC's for no apparent reason.

This worked for me. Hogsmead went from 40-45 to almost a locked 60 fps.

Turning on RT crashed my PC. second time its done this. I am afraid this game might brick my PC altogether.
 

nikos

Member
BTW, this is the engine.ini file I use when playing UE4 games. If anyone cares to try it on this game.
It does not include tweaks for RT. To enable SSGI, set that setting to 1

Change the line r.HZBOcclusion to 1 if you are using an AMD GPU.

Game doesn't launch with all of it pasted, not sure which line may be causing it.
 

LiquidMetal14

hide your water-based mammals
Game doesn't launch with all of it pasted, not sure which line may be causing it.
I wouldn't throw it all in there when those are likely his settings. Kinda like missing too much it can potentially break the game and/or saves.
 

ahtlas7

Member
All you young 40 series running around making me feel like an impotent old man in front of this beauty of a game.
Getting Old Baby Boomers GIF by MOODMAN

Now I need my .ini files tweaked just to keep my fps up.
 

Agent_4Seven

Tears of Nintendo
Last edited:

rofif

Can’t Git Gud


This seems to be THE fix for stuttering on the lower VRAM 3070 and 3080.

Someone should tell Avalanche that they should probably do a better job with managing memory use on the PC version. The game seems to be designed completely for the consoles and it overflows the shit out of memory on PC's for no apparent reason.

This is embarrassing.
I would feel like such a tool lol.
Like going out of car dealership with deflated tires and steering wheel unscrewed.
But it’s unreal engine. It’s expected
 

winjer

Gold Member
Someone should tell Avalanche that they should probably do a better job with managing memory use on the PC version. The game seems to be designed completely for the consoles and it overflows the shit out of memory on PC's for no apparent reason.

They are probably using the default settings for UE4 streaming system. It's not a matter of being designed for consoles.
Texture quality@3 defaults to:
r.Streaming.MipBias=0
r.MaxAnisotropy=8
r.Streaming.PoolSize=1000

Those 1000MB are not enough of a Pool for this game.

BTW, people who have performance left, should increase r.MaxAnisotropy=16
 

Captn

Member
EDIT* Found the issue : Do not run the game in admin mode.

Anyone getting this error when you start the game ?

I have no clue how to fix it

Fresh install btw

Y9EKZjx.jpg
 
Last edited:

Freeza93

Banned
The game has this stuttering issue on all platforms but consoles not as much.

The issue is UE4 Streaming and terrible Cpu utilization its been always like this. UE 5 fixed that.

UE4 only loves strong single thread performance but even the best available is simply not enough yet. Also Drawcall rape.

Play on High without RT gives the best Results and still nice graphics. Ultra is useless so is RT in this game and fps limit at 60 fps. This will give the best possible result no matter the Rig. Uncapped is not recommended.

Dlss3 will help in the future as it will help the Cpu.

Also the nvidia fanboys here saying that HUB is biased is ridiculous.
 
Last edited:

winjer

Gold Member
Anyone getting this error when you start the game ?

I have no clue how to fix it

Fresh install btw

Y9EKZjx.jpg

Check both exe files for the game. They might be trying to use some compatibility mode, or Admin mode.
Also, try disabling Fullscreen Optimizations for both exe.
 

SlimySnake

Flashless at the Golden Globes
So after making those Reddit changes and adding the new dlss file, my gpu utilization is in the 40s lol. Turning on rt destroys everything. I am tempted to see what it is like running this thing native.

Even hogsmead doesn’t hit 50% gpu utilization when it used to be 75%. The game seems to be poorly optimized on PC.
 

nightmare-slain

Gold Member
Does the new dlss actually improve performance?
I installed it but haven't noticed any difference. Image looks just as sharp as it did before and it definitely doesn't help with stuttering.

I am mostly running the game at 130-140fps though. Maybe if I was locked at 60fps with no frame generation it might make a difference. It takes 2 seconds to replace it so download it and see.

If you don't want to make an account for Nexusmods you can download the .dll file from here


and all you gotta do is copy & paste it into the folder for the game (maybe back up the original just incase). Mines is:

D:\Steam\steamapps\common\Hogwarts Legacy\Engine\Plugins\Runtime\Nvidia\DLSS\Binaries\ThirdParty\Win64\
 
Last edited by a moderator:
Top Bottom