Horizon Zero Dawn™ Complete Edition

Horizon Zero Dawn™ Complete Edition

View Stats:
"optimising shaders" and massive fps drops
EDIT: FIXED
I fixed this issue for myself by turning off the xbox game bar, and setting the game's priority to "realtime" in the task manager.
I don't know if it was the game bar or the priority (or a combination of both) that resulted in the issue being resolved, but i can say it did fix it for me

Every time i boot up the game it takes about 7-8 minutes to optimise the shaders, but not just that, it actually does it every time i go to the main menu! When i quit the game back to the main menu, there it is: "optimising shaders"

Also I occasionally get massive, random drops in my fps! They usually last a minute or two, and seem to be totally independent of graphics settings, location, or facing direction.
And when i say random, i mean RANDOM.
I could be in the middle of a fight, boom less than 20fps!
Just standing still? You betcha the framerate will drop down to the seriously uncomfortable zone!
Paused the game to go feed the pet? I hope you like low framerates when you get back!
Whilst this is happening my GPU maxes out at 100% from it's usual 60-70%.
I decided to see if it was graphics related so i turned down all the graphics settings, set the adaptive resolution target to 40fps, and waited.
Sure enough when the drop came the resolution started plummeting too, down to what felt like 640x480 WITH NO CHANGE TO FRAMERATE!!!

So it seems that whatever is tanking the framerate is not reliant on graphics settings, but IS affecting the GPU.
What else maxes the GPU out in this game?.. Optimising shaders.

So my theory is this, the "optimising shaders" thing is totally broken (not necessarily for everyone). It doesn't actually work, and this is why I see it every time i see the main menu.
What i suspect is happening is that the game starts optimising whilst playing, causing the GPU to max out, and start dropping a lot of frames.

Does anyone know if this can be fixed?

Processor: i9-8950HK
GPU: RTX 2080
RAM: 32GB
Game is installed on SSD
Last edited by DeckchairVonBananaCamel; Sep 29, 2021 @ 10:22am
< >
Showing 1-11 of 11 comments
Eye of Newt Sep 28, 2021 @ 10:14pm 
The first thing I would look to would be the graphics drivers, in your shoes. (and ETA: Adaptive Resolution may be the culprit.)

The next thing (or maybe in parallel) would be to see if there are any demanding third-party programs or processes running (e.g. Nahimic sound, systray programs, third party antiviruses, etc). If so, try to deproritize them ( https://www.tenforums.com/tutorials/89548-set-cpu-process-priority-applications-windows-10-a.html ) or close them.
Last edited by Eye of Newt; Sep 28, 2021 @ 10:15pm
Originally posted by Eye of Newt:
The first thing I would look to would be the graphics drivers, in your shoes. (and ETA: Adaptive Resolution may be the culprit.)

The next thing (or maybe in parallel) would be to see if there are any demanding third-party programs or processes running (e.g. Nahimic sound, systray programs, third party antiviruses, etc). If so, try to deproritize them ( https://www.tenforums.com/tutorials/89548-set-cpu-process-priority-applications-windows-10-a.html ) or close them.

Thanks for the reply, but i managed to solve my issue.

I disabled the xbox overlay and also set the game's priority to "realtime" in the task manager, this solved BOTH the "optimising shaders" and the fps issues (which may have been the same issue)

I dont know if it was either the overlay or the priority that solved the issue (or a combination of both) but it is the first time i have ever had to do this with any game so I'm a little disappointed.
The "optimising shaders" is not really an issue - it happens for everyone, at every game start, even if you don't see the message (some people have it hidden, sometimes you may not see the message at all, but it happens in the background anyway).

It's how it's designed by the developers since patch 1.07, and it's nothing to worry about (just continue to the game):
https://store.steampowered.com/news/app/1151640/view/2947004218177288149
What this means for you: upon starting the game, it will start optimising shaders in the Main Menu each time. Shaders will also still be optimised during gameplay, but this now happens automatically in the background.
Letting the game run the initial shader optimization is completely optional, so if you want to jump straight in, you can skip it;
All games need shader optimisation. Not all game developers decide to make this step visible to the players.
Last edited by 🉑 rezno[R].technology; Sep 29, 2021 @ 1:11am
Originally posted by 🉑 reznoR.technology:
The "optimising shaders" is not really an issue - it happens for everyone, at every game start, even if you don't see the message (some people have it hidden, sometimes you may not see the message at all, but it happens in the background anyway).

It's how it's designed by the developers since patch 1.07, and it's nothing to worry about (just continue to the game):
https://store.steampowered.com/news/app/1151640/view/2947004218177288149
What this means for you: upon starting the game, it will start optimising shaders in the Main Menu each time. Shaders will also still be optimised during gameplay, but this now happens automatically in the background.
Letting the game run the initial shader optimization is completely optional, so if you want to jump straight in, you can skip it;
All games need shader optimisation. Not all game developers decide to make this step visible to the players.

DX12 games achieve better performance by performing a one-off time-consuming pre-optimisation.
This should only happen ONCE until the user changes hardware/updates drivers.
The issue i was having was that it was not just performing the full process every time i started the game (something that theoretically should not have to happen) but it was ALSO doing the full process every time i backed out to the main menu (that should DEFINITELY not happen).
On top of this i suspected that it was optimising the shaders during the game as if i had not let it complete the process at all, causing massive frame drops, DESPITE letting it reach 100% each time it was telling me it was optimising.

By performing the fixes i listed in my follow-up comment (which i will add to my original post, for clarity) not only have i eliminated the performance issues, but the game no longer needs to optimise shaders every time i start it up
Seamus Sep 29, 2021 @ 10:40am 
Originally posted by DeckchairVonBananaCamel:
Originally posted by 🉑 reznoR.technology:
The "optimising shaders" is not really an issue - it happens for everyone, at every game start, even if you don't see the message (some people have it hidden, sometimes you may not see the message at all, but it happens in the background anyway).

It's how it's designed by the developers since patch 1.07, and it's nothing to worry about (just continue to the game):
https://store.steampowered.com/news/app/1151640/view/2947004218177288149

All games need shader optimisation. Not all game developers decide to make this step visible to the players.

DX12 games achieve better performance by performing a one-off time-consuming pre-optimisation.
This should only happen ONCE until the user changes hardware/updates drivers.
The issue i was having was that it was not just performing the full process every time i started the game (something that theoretically should not have to happen) but it was ALSO doing the full process every time i backed out to the main menu (that should DEFINITELY not happen).
On top of this i suspected that it was optimising the shaders during the game as if i had not let it complete the process at all, causing massive frame drops, DESPITE letting it reach 100% each time it was telling me it was optimising.

By performing the fixes i listed in my follow-up comment (which i will add to my original post, for clarity) not only have i eliminated the performance issues, but the game no longer needs to optimise shaders every time i start it up
It did used to only happen once.

Then 1.07 came out and changed that because the devs got tired of people with low end systems whining because they were crashing during it.

Also: Never set a program to realtime priority.

Ever.
I think that the performance drop you mention was caused by something different. Something in the background interfering with normal operation of the game. It's my opinion, because the shader optimization in HZD doesn't have effects on performance - it only affects loading times when it is not completed at least once.

I noticed you are using a mobile CPU. Laptops are usually full of heavy unnecessary bloatware that may interfere with playing games and performance. It's recommended to uninstall all of it before using the laptop. Maybe it's time for some software cleaning? There are guides for this somewhere, I suppose. But that's just my guess, as it's very common.

There was also a post by a laptop user with similar random dips in performance. The cause was excessive heat and thermal throttling. Maybe it's worth looking into as well at some point.

Just writing this in case any of this happens again, in any game.
well, doing the fixes i mentioned solved *both* the performance issues and the optimising shaders happening every time.
Im not saying for CERTAIN the two issues were linked, but given the fact that the only times my GPU maxed out was during the optimisation and during the frame drops (which was independent of performance) it just SEEMS like they are related, especially since both problems were solved at the same time.
Just booted up the game, and there was no optimising shaders message, so it looks like my fix stuck.

All bloatware was removed when i got the computer

As for the fixes i used specifically, performance guides for this game specifically mentioned that changing the priority to realtime and turning of the game bar were pretty crucial depending on your hardware.
Eye of Newt Sep 29, 2021 @ 10:28pm 
Still, on general principle when gaming on a laptop you should have some kind of cooler under it.
Seamus Sep 29, 2021 @ 11:08pm 
And still, you should never put programs on realtime priority. If you're going to screw with priority settings, going past high tends to be a bad idea in general.
Yeah, I agree... this "realtime priority fix" seems like a tip from some unexperienced user and I wouldn't recommend it either. Any game on a properly working operating system shouldn't have the needs for changing system priorities.

https://devblogs.microsoft.com/oldnewthing/20100610-00/?p=13753

Something else was or is probably happening.
Last edited by 🉑 rezno[R].technology; Sep 30, 2021 @ 1:48am
Originally posted by Eye of Newt:
Still, on general principle when gaming on a laptop you should have some kind of cooler under it.

I do, my machine never reaches temperatures high enough to require throttling, even without it.
< >
Showing 1-11 of 11 comments
Per page: 1530 50

Date Posted: Sep 28, 2021 @ 9:04pm
Posts: 11