Abysmal FoA Performance v1.3.0.3 (x64)

The most fun bit of this troubleshooting is how many of the issues carry over independent of the platform. If I’m right and they’re down to the game engine (and/or assets, but I’m pretty sure it’s the engine) rather than the rendering stack or the operating system itself, we’ll see i) the same issue(s), ii) at the same spot(s), which get iii) mitigated by the same changes.

A further thing I’m testing now is maxResourceThreads (provided forceSingleProcessorMode is set to false as it is for me) in your save folder’s Settings/options.txt. I had that set to 1, changed it to 12 to see if it’ll make a difference. I can’t see anything immediate while benchmarking CPU usage but I’ll keep testing. I’m skeptical as I don’t think even if this tells the engine to utilize more threads, that the pipelines are threaded properly at all (I’m not trying to be hard on the developers, but the performance issues are there, even if they’re hard to replicate. I even saw the same render chokes on a livestream the other day.

2 Likes

Absolutely agree. This is what I’m trying to say too, basically.

I had noticed this too earlier, just forgot to say. It surely is telling that something is wrong. The menu screen shouldn’t be this demanding imo.

Yes, I’m just speculating which of those shaders/effects, bundled in shader setting, could be doing it. It can also be, simultaneously, a thing in “shadows” settings, Kurnhold can be a good example for me, where turning them off makes it on par with the rest of pre FoA parts of the game, from what I’ve seen so far. Really only tested for a bit.
But even if we find the culprits, it’s up to the developers to really solve. Also, it must be way easier and efficient for devs to look for it. I don’t want to disable all the shaders and shadows everywhere because of some problematic areas…
Seems like there’s a lot the “shaders” setting sets. Some terrain stuff, paralax likely, some texture blending even, from the looks of it. It also makes the terrain/ground way lighter - some kind of bloom (?), not just the snow. It’s only present in FoA areas and personally, I don’t like the lighter, more “washed out” look of the terrain, the everything. The rest of the game was always nicely contrasted and “full of texture”. I always liked that about Grim Dawn’s graphics. I mean, technically, there are multitudes of different shaders, so it would make sense, but I’d rather still prefer more individual settings. Like I said, it’s ultimately up to the devs.

As an update too, I don’t think its parallax causing trouble. It’s not exclusive to FoA I think. Though it looks like it’s used there way more prominently.
This is an impossible rabbit hole to dig, it feels now.

Also fully agree.

This was more like a rant, than solutions, but I hope it’s not useless.

1 Like

Welp, nothing further on my end today. Did a ton of testing, gained some improvements with shadows in the Fort Ikon → Asterkarn transition by using DirectX 9, and I can reproduce frametime spikes on DirectX 11 consistently. Again, something to do with the shaders.

Unfortunately, nothing I can do about Kurnhold. Performance is subpar in the areas we mentioned regardless of DirectX; shadows cause everything to die. Interestingly, settings shadows to Low makes the entire global illumination shadow (I’m simply assuming; I mean the big shadows on terrain supposedly cast by weather) to break.

Either way, 1.3.0.6 if it isn’t clear. Hope we get fixes soon, this is starting to get annoying.

1 Like

Big update. I’ve found the shaders responsible for the performance drops.

They’re standardstaticdetail.ssh and standardstaticdetail_nofade.ssh. Without those, the performance in Kurnhold is stable, high, and smooth. I’ve tried replacing those with the oldest ones I have backed up (1.2.1.2). Unfortunately, those also cause performance issues.

But now, I know for certain that those two - and not individually for some reason, only when they’re both gone does the performance drop get alleviated - are causing at least the issues in Kurnhold.

My methodology? I extracted Shaders.arc with the provided ArchiveTool.exe, gutted shaders individually or in groups and re-compressed until I narrowed it down to the ones that cause the issues.

I’d like to tag devs to look into this as it is now clearly a concrete, specific finding. I’m willing to record videos with frametime monitors to substantiate my claims, even though I suck at screen recording. But it’s there: frametime spikes, render stutters; this is NOT about microstutters/freezes, this is simply about the framerate in Kurnhold (and obviously other places in the world, but this is the easiest to reproduce).

3 Likes

Jumping in the thread (pun intended)
I have a pretty good setup: Ryzen 5800x with PBO, RTX 5070ti, 3440x1440@120Hz and yet the game just pegs the CPU0 with shadows at Low+.

I’m getting around 60 fps at Kurnhold rift with shadows (any setting) but with shadows OFF it immediately jumps to 120 (my vsync limit).

4 Likes

Thank you xumix. I’ve also made this thread about the issue, can you switch off Vsync and let me know if the areas I’ve indicated behave the same for you?

This is w/o Vsync: CPU0 is in both cases maxed, GPU shows increase in usage with shadows off, ~180 FPS w/o shadows

3 Likes

You are really good, man. I admire and appreciate your dedication. Sounds like I was on to something with the shaders at least, but you took the troubleshooting to another level. There is less space for guessing and speculation now.
I really hope that @Zantai or anyone at Crate looks at this and the new thread you made. With the time you put into this, for free, I think that this is the least they can do.

Thank you for all the work you put into this.

Pretty insane to me that this also happens on a 5800X and 5070Ti… I mean, I know about this issue, but I thought that HW like this, just powers through it.
That CPU usage graph looks almost the same as my 6700K, minus 8 threads, of course. I’d say that I’d hoped that with single core performance on this level, the game wouldn’t max out the CPU0 like this… Not with 5070Ti at 120 FPS… Seems like regardless of the performance of the CPU, the same pattern is still there.
Anyway, on a display without GSync, I’d recommend framerate cap and fast sync in NVCP and turning it off in the game. RTSS cap is also good, but I don’t personally like running - hooking another program.

1 Like

It is imperative that these performance issues get fixed as soon as possible. Objectively, you want the game to work well before you tune gameplay logic, right? I would’ve said I could be completely off, but I’m fairly certain at this point we’ve established it’s not rare occurrences, what the symptoms are, and some semblance of a root cause. I was hopeful, but now I demand this be addressed. If not, it will, at the very least, deter new players from the game. Which I think is something none of us believe is good. I would like to see this addressed in the next patch.

The information from Xumix only confirms it’s not a hardware issue, which is quite important. I too, by the way, play with a frame cap. That’s something I would not prefer to do, but at present do not mind doing. What I do mind is software issues.

Thank you, sincerely, for your kind words. We are all interested in having the game experience be the best it can be!

P.S. I have not had a chance to test on 1.3.0.7, I assume the issue’s still there?

3 Likes

I can attest, the framerate in Kurnhold is pretty bad on my end. Radeon 9070XT with a Ryzen 5800X3D on CachyOS. It’s a shame, all these performance issues kinda ruins the fun for me.

3 Likes

I fully agree with everything you say here.

Absolutely, that’s why I started this thread.

I haven’t played for a while now, so I haven’t got chance to test yesterday’s patch or respond earlier. But I assume it’s still present as well.

1 Like