Horizon: Zero Dawn

As of Special K v 0.11.0.45, D3D12 support is incomplete and getting SK to work with this game requires a few manual INI edits.


       image|100%

The following changes (SpecialK.ini) are necessary for SK to work with HZD:

API Hooks
[API.Hook]
LastKnown=64
d3d11=false
d3d12=true

Most of SK's features (widgets and control panel aside) are functional, crucially the framerate limiter works and has been verified using CapFrameX to provide better frame pacing than RTSS / NVCPL's framerate limiter.



Framerate Limiting Config
[Macro.FPS]
Ctrl+Shift+1=TargetFPS 60
Ctrl+Shift+2=TargetFPS 45
Ctrl+Shift+3=TargetFPS 30
Ctrl+Shift+0=TargetFPS 0

[Render.FrameRate]
TargetFPS=60.0
SleeplessRenderThread=true
SleeplessWindowThread=true

The macros section of the INI allows you to bind various limits to a keyboard shortcut; you cannot use the control panel to change limits.


A note regarding Display Modes:

Fullscreen Exclusive mode is absolutely necessary for sane framepacing in this game unless you use Special K's secret sauce (waitable swapchains).

Waitable Swapchains + SK’s framerate limiter will turn the table in favor of borderless window mode.

4 Likes

It’s a damn shame that fullscreen is required as I am really annoyed by the additional delay that alt+tab experienced in that mode.

Not only that, but the thing that makes fullscreen exclusive mode necessary is detrimental to the performance even in fullscreen mode.

More D3D12 command queues + backbuffers would benefit both fullscreen exclusive and windowed mode. The only downside would be a slight increase in input latency, but this isn’t CS:Go, so who cares? :stuck_out_tongue:


Sadly, the game’s got more problems than just lousy framepacing. Cloth physics is spitting garbage triangles all over the screen, it’s very distracting :slight_smile:

Even following your settings, my game doesn’t go fullscreen. U think its because mine is from Epic?

Possibly, SK doesn’t inject into Epic Game Store games by default. SKIF explains how to enable that on the Injection Config tab.

Crashes with a message to send info to guerrila.
Actually all I want is to use V-sync with Half refresh rate (75HZ = 37.5, (AMD GPU)) because its very smooth this way. Dunno If its possible for Dx12

Have you set the API Hooks the way discussed in the title post?

You cannot change the swapchain settings for the game, but you can set a TargetFPS=37.5

If I set forcefullscreen the game crashes

Yes I did.
To bad I dont have Nvidia, as I could use Inspector for Half Refresh Rate

Wait, If I open RTSS the game doesnt crash and SKIF FPS limiter works, but Still cant do fullscreen

I removed that setting from the title post, forget it was there :wink:

It works on my system, but you really don’t need it. Just set fullscreen mode in-game.

Good day sir, im using the epic store variant.
therefore my whitelist is
D:\Epic Games\Horizon Zero Dawn

However the SpecialK.ini doesnt get generated in the “Documents\My Mods\SpecialK\Profiles” folder for me to edit…

Am i doing something wrong with my global injection?

Just use Epic Games instead.

I have GTA V & RDR2 in epic games folder, fear of getting banned online
Thats why i specify the folder
D:\Epic Games\Horizon Zero Dawn

but i think its still not working for me… i cant find specialk.ini to edit…

For non-Steam games, it’ll be in Profiles\<exe_name>\ .

The Steam version of HZD is HorizonZeroDawn.exe, I assume EGS is the same.

Two things to note:

  1. Special K is still injected into those games — it’s just not initialized. Stop global injection entirely to prevent Special K from being injected into them.

  2. Use e.g. Horizon Zero Dawn instead in that case. Or, well, as Kaldaien mentioned the name of the executable.

That.

Is not where you put the skip button functionality. Ever.

Also yeah it probably needed a little bit more development time.

(From the ResetEra topic about the game.)

I don’t have the game installed at the moment (The good ol’ backlog!) but it should be easy enough to see if someone was very confused with setting up certain key binding combinations there ha ha.

This port has some issues, it isnt Death Stranding.

Odd things for me:

  1. I can add more backbuffers and the game wont crash
  2. when i switch to “fullscreen”, the game goes windowed with borders -_-

I have a very weak CPU and i’m cappint it to 30fps (i5 3450 @3.9Ghz OC), but the 4 cores are always 100% capped most of the time.

– edit –
Disabled SpecialK, the inability to go fullscreen proper and the cpu capped issue where coming from it. For now, using just RTSS to frame cap.

Truly, the sign of a polished port.

It clearly has issues.
That 20 mins shader compilation doesn’t convince me. The last time i had to do some like this was for CEMU, a emulator. And you have a directly comparison to Death Stranding, although DS is less crowded.