Horizon: Zero Dawn

Hello, I am trying to force the game to use a non-standard refresh rate (77Hz, I use a 60Hz monitor which can be “overclocked” to this refresh). The game’s builtin resolution selector refuses to show anything but 60.

Unfortunately, even using SpecialK the game always switches to 60Hz. Nvidia Profile Inspector’s “prefer highest” also doesn’t work.

Additionally, whenever SpecialK is injected, exclusive fullscreen mode stops working and becomes a bordered windowed mode instead. It works without SpecialK (though forces 60Hz), and no settings in ini seem to help…

any ideas?

I generally suggest against Fullscreen Exlcusive Mode for best frame pacing, but you are clearly the one remaining use-case where it is important (you want to run your desktop at a different refresh rate than your game).

Please refer to another post of mine for a version of my DLL that enables fullscreen exclusive:

Continue using my suggested Waitable swapchain settings for best results, this DLL will allow using FSE mode and changing resolution/refresh rate.

Realistically, I tend to just run my Windows desktop at the refresh rate I want to play games and this all rarely creates problems :slight_smile: You could try doing that, but if that’s not an option, then the FSE changes I made will help you.

I keep my desktop at 77Hz also, but problem is the game always forces a switch to 60Hz unless I select borderless or windowed from the game’s display settings menu. They don’t allow selecting anything besides 60 (or 120 or 144, possibly 240 and even 360, but my monitor doesn’t support those) from the menu.

For some reason they wanted to be real picky about which fullscreen video modes they allow in the menu. Even adding a new weird resolution (like 1919x1080 or something) with 77Hz as the only available refresh rate doesn’t work, it simply doesn’t show up in the game’s settings menu.

I bet non-standard resolutions/refresh rates would work just fine if the game was hacked to remove these checks, somebody just wanted to make things difficult for ppl like for me. :\

I wonder what would happen if I changed my EDID so there are simply no 60Hz modes available?

I tried the new DLL, but exclusive fullscreen (either selected from game menu or ForceFullscreen=true in SpecialK.ini) still doesn’t work properly. Or am I supposed to use ForceFullscreen=false, select borderless from game and it is still as good or better as exclusive fullscreen w/o SpecialK?

Huh?

Don’t use any of the Force… settings, just use the in-game graphics settings.

SpecialK64.7z (7.4 MB)

If you want, you can even avoid global injection altogether (rename SpecialK64.dll to dxgi.dll, put it in the game’s directory) and use this as dxgi.ini

dxgi.ini (569 Bytes)


If you want to force a weird refresh rate, the way you do that is with:

RescanRatio=
RefreshRate=

If you wanted 77 Hz, for example,

RescanRatio=77/1
RefreshRate=77.0

Also remember to set SK’s TargetFPS=… accordingly :slight_smile:

Tried the dll renamed to dxgi.dll and ini from that post with changes:

[Render.FrameRate]
TargetFPS=77.0
RescanRatio=77/1
RefreshRate=77.0

Fullscreen works properly now (doesn’t go into bordered window mode), but the game still changes to 60Hz unless I select borderless from ingame menu. :frowning:

I tested a couple of other games I happened to have ready, and forcing refresh rate using those settings didn’t work for me in a D3D11 game either (Bloodstained). It does work in an old D3D9 game though (Alice2). editnote: these I tested with global hooking (not renamed dll) using files from the main download link

Must be something weird or broken on my end?

I should probably mention I’m still on “Win10” (Server 2019 actually) v1809, not the latest if that’s somehow relevant to any dxgi/d3d magic you’re doing.

Then just use the desktop refresh rate instead and use borderless window mode.

Then set TargetFPS accordingly in the SK ini file.

Use borderless mode and refer to Kaldaien’s post about it. It performs better than Fullscreen Exclusive.

Hi.

I’m using the latest specialK mod but the fps falls until 40FPS. Why? I did anything wrong?

My hardware is:

HZD is installed on a SSD
GPU: rtx 2070
CPU: ryzen 2600

Thanks for the mod.

I don’t think much can be done for the framerate currently although SpecialK can stabilize the framerate drops and stuttering by also fixing up the frame time variance somewhat.

This goes especially for some of the current bottlenecks in the game including extensive particle effects and areas like the desert one and some of the cities or towns which can see a large performance dip or even have problems in regards to overall game stability and this is true even on the newer Intel and AMD CPU’s, high-speed RAM and modern SSD’s coupled with either a 2080Ti or a 5700XT GPU.

Most of the time the game can run reasonable well but some parts of the game and certain effects or other things just causes performance to tank which is going to need a patch or several to fix up whatever is going on here.

Meridian I think the place was called, good way to see how the game can really struggle at times but there’s also the ongoing instability problems that need to be resolved.

EDIT: And several effects and systems not operating properly above 30 FPS too. SpecialK helps but this game needs more patches.

1 Like

I actually get down to 30s on ultra in certain areas out in the open. By forbidden village. Was dipping that low. I managed to slightly up my FPS by using some optimized settings and game looks amazing. But I am sporting a decent rig for this game.

i7 4790K
RX 5700 XT Strix OC Edition
32GB 1866Mhz DDR3
1YB 860 EVO SSD
Win10 2004 Build.

Special K isn’t designed to boost framerate, so much as fix stuttering. The one thing I can guarantee is that if your framerate dips, it will be a smooth transition between high performance and slow without a hitch / stutter when it recovers.

On higher-end hardware, sometimes SK dramatically improves framerate, but that’s for different reasons. You don’t fall into that category, the benefit you should expect to see is stutter elimination.

1 Like

Thanks a lot for the answer, now i understand for what your mod is designed.

Sorry for the misunderstanding.

ok can someone please tell me where is ‘SpecialK.ini’ supposed to be? It’s not in the SpecialK dir and not in Documents/my mods/… either (someone mentioned that path) because I have no dir ‘my mods’. Help please. Thanks.

Run the game. All this stuff is created the first time you run the game with Special K enabled.

Why does this never work for me, I have the game installed on steam’s default game folder on my C:/

Where your game is installed does not matter unless you are using local injection (dxgi.dll).

I do not know why it does not work for you, unless you are running a non-Steam version of the game, the profile is going to be created automatically.

If you are running a non-Steam version, you have to

  1. add a whitelist entry
  2. look for config stored in the directory HorizonZeroDawn.exe

    rather than a human readable (e.g. Horizon Zero Dawn) title

How can you confirm it’s running? if Ctrl + Shift + Backspace doesn’t pull up the UI.

You press Ctrl + Shift + T :slight_smile:

If you hear a delightful sound (assuming you’ve played games on PSN), it’s working.

Special K doesn’t have a stable enough D3D12 codebase for me to enable SK’s control panel in D3D12 games yet. It’ll be supported in the future, just not now.

So I noticed in many games Ctrl Shift T doesn’t work and makes no noise. Wonder why that is. Could a setting have made it muted?

I found this in macros
Ctrl+Shift+T=OSD.Clock.Show toggle

Might be why no sound is happening.

It’s probably not injected.

I had a similar problem earlier today and I didn’t realize it wasn’t injected until eventually I got tired of all the stuttering and thought my software must be broken :stuck_out_tongue: Thankfully it wasn’t broken, it flat-out wasn’t even in the game and that’s why everything was stuttering.

I really wish I had the confidence to enable D3D12 overlay rendering to make it clear when SK is and is not active in a D3D12 game, but D3D12 is one crash-happy little firecracker the second anything goes wrong.