Back
Dishonored DOTO High FPS Fix
?

This one is very similar to Dishonored 2's fix, infact I just made the AI create a plan with all the details and let it go ham; took a couple turns and many tests but it took considerably less time than D2.

I'll retain the explanation in here too; the approach is:

  • decouple game logic from rendering (this could simply mean multiple display, or 'presentation' frames for each real logic frame) in this case the game already does this by itself (has a fixed 120hz tick)

  • interpolate all world positions, rotations & animations in non-logic frames towards the next logic frame

  • add a per-frame mouse delta override to restore mouse input latency to 240hz/whateverhz levels

Showcase of the high level approach used

Just like Dishonored 2, for DOTO I had to implement prediction logic; the game suffers from an uneven alignment with the native game tick (120hz) at less than 120hz framerates which are not multiple of said refresh rate, e.g 80hz would look bad because it doesn't properly align to 120hz like 60hz does; the problem was especially pronounced at the (GAME OFFICIAL) 105fps cap which produced a shitty juddery motion that made me want to carve my eyes out:

Half-speed visualization: 60 Hz simulation at 52.5 FPS reproduces the game's 120 Hz / 105 FPS cadence; drag the slider for other target rates

One thing I can say is that the game seems to run better so far (first 2 levels, fingers crossed) compared to D2.

Short clip of me killing guys (yup I don't play Dishonored correctly)

So at a minimum it still requires testing and possibly placing some more logging probes around to see what's happening. I'll update the post if something changes.

After testing the performance side for a while, I noticed that the mod has a pretty decent performance overhead over the base game's performance; in the worst case it can get as high as 20%; because of this I let the AI implement a system that progressively disables interp features the closer you are to the upper bound of 120hz (starting from like 140-ish), since it would be useless to interpolate animations at less than 120hz, you would just be consuming cycles and having lower fps uselessly.

Dishonored: Death of the Outsider FPS FixView fix → See ya.