High FPS vs. HQ Graphics - the best balance?

I’ve spent several hours benchmarking Grim Dawn to find the best balance between high-quality graphics and good performance. I’m sharing my results here so hopefully the next person trying to optimize their game will have an easier time discovering what works / what doesn’t.

The goal: Grim Dawn is a gorgeous game. We want those beautiful graphics, and want to share them with our viewers: for those who stream/create videos. But we also want good performance; what good are great graphics when all the action is jittery, due to low framerate or micro-stuttering?

The problem: If I max out the graphics, sometimes my game drops to 20 FPS. Not only does that look jittery, but I may also die (input lag). If I put the graphics on minimum, I get higher FPS but the game looks much worse.

The questions: What’s the best balance between graphics and performance on the video settings? Are there ways to improve performance without losing video quality?

The answers:
## HARDWARE

  • I’m running on a 1080Ti, an I7 7700K, with 16GB of RAM; obviously, you’ll do better if you have better hardware than this
  • Install the game on an SSD, if you have one. This will greatly reduce the time you spend on loading screens. If you don’t have an SSD, there’s a thread on how to run the game from a virtual in-memory disk, but when I was writing this post I couldn’t find the thread anymore (help, anyone?). That can help reducing load times, but I doubt it will increase your FPS

## OPERATING SYSTEM
WORKS:

  • Update windows and graphics card drivers
  • In NVidia control panel, “Manage 3D settings”: set “Power management mode” to “Prefer Maximum performance”. This can avoid bottlenecking your GPU.
  • In Control Panel\All Control Panel Items\Power Options: enable the “High Performance” plan. Same reason as above.
  • In NVidia control panel, “Set up G-SYNC”: turn G-SYNC OFF! I was surprised by this one, because I bought G-SYNC capable monitors recently. But at least on my 1080Ti graphics card, turning on G-SYNC means I lose 5 to 10 FPS on average. The problem is that you might have screen-tearing with it off, but that doesn’t bother me as much as losing 10 FPS does. In theory G-Sync should not affect performance, but there’s a large discussion on the nvidia forums about it. I don’t know if this also applies to more modern graphics cards, or to AMD graphics cards (and Free-Sync). Feel free to test this and post your results below.

DOESN’T WORK:

  • Turning off the anti-virus / firewall / windows defender. This made the game launch and load faster, but it gave me no FPS gain. Don’t do it: this is a security risk. Keep your anti-virus and firewalls ON.

## LAUNCHING THE GAME
WORKS:

  • Launching in 64 bit. On steam, right-click Grim Dawn, Properties. Add “/x64” to the Launch Options. This didn’t give me more FPS, I felt the game running a bit smoother, so maybe there’s less micro-stuttering? I’m not sure, but if you have a 64 bit machine, there’s no reason to run the game on 32 bit.
  • CPU Affinity: removing from cores 0 and 1. This boosts FPS and greatly reduces stuttering. This thread explains the goal of this change. But you do not need to download any complicated tools like the core switcher to get the same result. Simply run steam with a “0xFC” affinity if you have hyper-threading enabled, or a “0xFE” affinity if you don’t. Then, every game you run on steam will have those affinities. Check this post for an example on how to do a simple affinity script.
  • Are you running OBS or another CPU-hungry recording software? If so, also change their affinities to exclude cores 0 and 1, and also the core that Grim Dawn is using the most. In my case, that was core 4; I checked it by looking at the Performance tab of the Task Manager. It should be the same every time, so you can write a script once, and profit forever.

DOESN’T WORK:

  • Launching in D3D9 mode. You could do it by adding “/d3d9” to the steam launch options. Don’t do this: it actually made me LOSE a LOT of performance - I went down to 10 FPS at times! Maybe it works with video cards that are older than the geforce 10X0 series, but with more modern cards I don’t believe this will help you.
  • Changing maxresourcethreads. You could change it by editing the “options.txt” file in your "Settings" folder. But this is NOT the number of threads that the game runs on! If you leave it on the default: 1, you can see the game is still running on multiple threads by opening the Performance tab of the Task Manager. I’m running the game on 6 cores, and I tried setting this to: 1, 2, 6, 7, 12. No difference in framerate or smoothness. Don’t waste your time here.

## IN-GAME GRAPHICS SETTINGS
Unlike all the tips above, these tips below might reduce the graphics quality that you will experience. It’s up to you to find the right balance between FPS and image quality that works best for you.

  • A special case - Deferred Rendering: Better performance, with no cost in quality. This is the only case in this section. This was true with my 1080Ti, and it might be different on other cards, but I believe with modern cards this should be always ON.
  • Render Device: I don’t know. I only have one graphics card.
  • Window Mode: No change in performance.
  • Screen Resolution: Can boost performance if you reduce the resolution. Personally, I did not change this because I refuse to play or stream under 1080p; it looks really ugly on my monitor. Changing frequencies does not affect performance, so set the frequency to match your monitor.
  • Anti-aliasing: No change in performance. Personally I turned this OFF because the game looks better with it OFF, even if you can see some jagged edges sometimes. It looks very blurry and the colors aren’t as contrasted with it ON.
  • Anisotropic Filtering: No change in performance. I set it to “16x” for better quality, although it’s rarely noticeable.
  • Textures: No change in performance. I set it to “High” for better quality.
  • Shadows: BIG change in performance. Setting this to “OFF” will net you a large FPS boost, but the game will look plain and weird. Shadows on “Low” look terrible - worse than having no shadows! So I personally set this to “Medium”, which costs me some performance, but it makes the game look so much better. The shadows on “Medium” still look a bit fuzzy and weird sometimes, so feel free to set this to “High” or “Ultra” if you believe your machine can take the performance hit. The higher the setting, the lower your FPS will be.
  • UI Scale & Fullscreen Gamma: No change in performance.
  • Shaders: No change in performance. I set it to “Ultra” for better quality.
  • Reflections: Moderate change in performance. I found that “Off” and “Low” have about the same performance, so I set it to “Low” to at least have some reflections. The higher the setting, the lower your FPS will be.
  • Particles: Moderate change in performance. I set it to “Medium”. Increase at your will if you want fights with lots of casters to look better. The higher the setting, the lower your FPS will be. Do not set to “Low” however, because that causes some monster attacks to become invisible: especially wave-like attacks that are high-damage; and if you can’t see them, you can’t dodge them!
  • Lighting: BIG change in performance. I set this to “Medium”. You can increase this to make fights look better, especially in dark environments, but your FPS will lower. I don’t recommend using “Low” because that causes a bug where shadows suddenly disappear and reappear at certain times of day. Only set this to “Low” if you have Shadows turned off.
  • Weather: No change in performance. I feel like this might affect performance but all the places where there are HUGE fights and the performance really drops, are usually not that affected by weather, so I just set this to “Very High”.
  • Vertical Sync: No change in performance. OFF to prevent input-lag; game should feel smoother.
  • Triple Buffering: No change in performance. OFF. This is only used when V-Sync is ON.
  • Detail Objects: No change in performance. ON for better quality.
  • Alpha To Coverage: No change in performance. ON for better quality.
  • Ambient Occlusion: No change in performance. ON for better quality.
  • Post Processing: No change in performance. ON for better quality.
  • Depth of Field: I always have this OFF because I dislike the blur effect this creates; I feel like this reduces quality, no matter the game I’m playing.
  • Soft Particles: No change in performance. ON for better quality.

After all these changes, when running the worst scenario benchmark of the Bog Crucible, 103, with lots of casters, my FPS never got below 50 FPS - which is acceptable to me while streaming. If I run everything on MAX settings, sometimes the FPS go down to 20 FPS… so this was a big improvement for me.

THE END! Keep in mind that these results I got are specific to my graphics card: the GeForce 1080Ti. If you have the same card, or a more recent card, you should have results very similar to mine. Older cards might differ a bit, especially in settings like the “Shaders”; feel free to test things yourself and share the experience!

PS: I know this thread exists, but I wanted to provide a more up-to-date alternative, that doesn’t have as many broken links as that previous thread (yes, yes, I know the forums changed…)

PS2: I did not try “everything”, so feel free to post here anything you tried that helped boost performance on your machine, as well as anything that did not work at all for you.

12 Likes

Interesting, thanks for doing this. I’ve never seen GD use 100% of my gpu, it uses 100% of one CPU core. Affinity trick helps a tiny bit. This is the main performance issue for me. I really dont want to lower graphics on 13yr old game really. The particles and a lot of sutff gets my game chug the most, but it stutters all the time. Tried everything, must be no multithreading, my 6700K core is just not fast enough, which is sad.

6700k runs this game fine…

7th December 2018 stream:

Dragon_RW : Hi, will this engine still use a single core to do all processing?
Zantai: That is a misconception. I am well aware that the engine is heavily based on one core, it does not however run on a single core, it never has. We’ve actually made improvements to that over the years and it utilises additional cores more than it does many years ago. Could that be improved? With infinite resources anything can be improved, but there are diminishing returns.

You could try this and see if it helps.

2 Likes

How about colour blindness? Should I set it to max? :wink: Otherwise that’s a thorough benchmark.

I could share results for my GPU which is about 10x slower than yours. I was surprised how many options you can set to max “for free” whereas for me many more settings make a difference. Guess your GPU does more things in hardware. And my CPU is bored when playing GD, so I never even looked at thread distribution.

But we can at least agree that low shadows look wrong. They qualify as a bug to me.

Thanks, I know all of these. Zantai even confirmed it “heavily based on one core” It uses a few cores if you force it to. But it 100% maxes 1 core while using a bit of others. The lag/hitch that happens consistently is always because of maxxed core, spent way too much time troubleshooting this. In practice it’s as if it was only using 1 tho. I’ve been playing GD for many years, always had this issue, tried everything here and came to this conclusion. It’s CPU bound. Singlecore performance dependant. With affinity trick it uses the other cores more, but it still maxes out that one, wont distribute that processing that causes the problem properly it seems. Might be because it just can’t do MT properly.
I’ve kinda learnt to live with the lags… Its a shame that one of the best games ever made suffers from this tho.

Not all CPU’s display the 100/1 core behavior. Zantai actually doesn’t confirm it in the manner you are intentionally choosing to interpret his words. With that said it’s an old engine, from the days of yore when single core was dominant and as such the engine itself needs to be rewritten to behave properly (equal distribution) across multiple cores like other modernized game engines do today. The good news is that the engine IS being rewritten. The bad news is that GD itself will never get that benefit, but its sequel will (or rather I should say, I hope it will).

I don’t think there’s any misinterpretation. It’s heavily based on one core, which causes me the issues I’m trying to describe, thats it. It utilises additional cores, yes like I said it does. It can’t distribute the load properly since it’s an old engine and all that, everything else you said is true.

Before doing the affinity trick, I used to have 1 core on 100% all the time.
After doing the affinity trick, I now have 1 core on 70%, and the other cores on 30 to 60%.
It still might have “more activity” in 1 core than the others, but it definitely helps the game run more smoothly, at least on my machine.

Are you sure you’re doing the affinity trick right? I’m curious as to why it doesn’t work on your hardware.

Affinity trick helps. Just not all the time. Say, when your usage is 70% mine is 100% and it chokes. When there’s more processing needed. Without it it’s absolutely 1 core 100% all the time. Don’t remember the exact specifics now, havent play in a while, so can’t tell you what core does what when, now. I will, if I get to it.
I might’ve described my issue a bit clumsily.

You all have too fast GPUs. :smiley: Suffering (and stuttering) from success.
With my my slower graphics card the CPU doesn’t have much work to do to keep up. I observe maybe 50 % load max on one CPU core.

Yes, you are clearly GPU bottlenecked. Just get better GPU 4Head

Puh-leeez. Everyone knows all you really need to do is just download more RAM. It pretty much fixes any and all performance issues.

https://downloadmoreram.com/

6 Likes

can confirm
downloaded more ram, no longer throttles CPU, and thanks to Res’ tip my fridge now plays GD at more FPS than my computer :ok_hand: :grin:

1 Like

What I do is force the game to run at 30fps… I prefer a steady 30fps than a juggling 37-57fps.

Honestly there is little you can do for more FPS as long as you have a decent GPU. I play in 4K and try to maintain 60fps with my Vega56 on my HTPC. I don’t use VSYNC either as it causes microstutters and actually lower fps in situations like crucible.
On my RX6800 + TR3960x I play uncapped in 4K and get upto 140fps with basically all the settings at max. Crucible’s worst situations have dips to around 56 but it doesn’t look bad especially if you have a screen with LFC, however the average FPS stays around 90 even in heavy Crucible. The rest of the game basically stays past 100. Just don’t use VSYNC.
I have also played a bit with my RTX3070 mobile, an RTX3060 mobile and the Vega 6 on my Aya Neo… this games settings don’t do that much (other than what was mentioned) for FPS unless the GPU is weak. It is all based on CPU power and this game loves CPU cache memory. Runs better on my 3960x than my 3900x despite the 3960x running at a slightly lower clock vs the 3900x.
I would venture to guess that a 5800x3D is the best CPU to play this game bar none.

Since this game is on GeforceNow if a high end CPU isn’t in your future; GFN is a cheap way to play basically locked at 60 with minimal interruptions as long as your internet connection is good. I used to use it to play on my Chromebook as I traveled in 2020/21 but now I have a gaming laptop + Aya Neo so I haven’t tried GFN in a little while.

1 Like

using a vega56 and a 5600x I max the game and average out 100fps at 1440p resolution.

1 Like

Thx for this, I didn’t even know it was physically possible, but it works! +20 increase in FPS!

4 Likes

Not surprising considering that 1440p is roughly half of 4K and anything under 4K can’t fully take advantage of Vega.

Some feedback for the OP in case it is relevant. I have a similar rig but worse (i7-6700K, GTX 980Ti) and I am playing with everything maxed except reflections are Low, and I have no frame rate issues at all. At least none I could detect with the human eye. This includes playing Crucible which (I think) is the most intensive the game ever gets, AND I only play it co-op with a friend, so that’s 2 players’ effects going off all over the place.

1 Like