D3D Enforcer

D3D Enforcer main dialog

D3D Enforcer allows you to tweak various Direct3D settings for the applications of your choosing by injecting a DLL into target process and hooking required APIs.
Minimum supported OS Windows 7 Service Pack 1 with Platform Update
Supported Direct3D versions 9\10\11
Changelog

1.1.2

  • Fixed a bug when removing an application profile didn't fully undo "Preserve desktop gamma" if the app was running

1.1.1

  • Adding a profile no longer requires specifying the full path to the executable file
  • Minor internal improvements

1.1

  • Added "Force swap effect" support for D3D9"
  • Minor improvements to "Don't render ahead"

1.0.1

  • Fixed the tray icon not appearing if explorer was started after D3D Enforcer
  • Updated "Don't render ahead" description

1.0

  • Initial release

Features

Force VSync

Force the application to use specific presentation interval.

Force triple buffering

Force the application to use two back buffers.

Force desktop refresh rate

Prevent the application from changing display refresh rate via Direct3D APIs.

Preserve desktop gamma

Prevent the application from overwriting desktop gamma settings via Direct3D and GDI APIs.

Minimize frame latency

Set the maximum number of frames that the system is allowed to queue for rendering to 1.

Not supported on legacy Direct3D 9.

Don't render ahead

Prevent the application from presenting frames more often than once per VSync interval.

Pros: May significantly reduce input lag when VSync is enabled.
Cons: May cause stuttering, degrade performance, and increases total CPU usage.

Has no effect when the framerate drops below display refresh rate.

Force swap effect

Force specific presentation swap effect. Flip Sequential may give lower input latency in windowed mode when used in combination with sync interval of 0. To achieve that, select Flip Sequential and set Force VSync to Off.

Notes
  • Overlay and FlipEx are only compatible with Direct3D9Ex.
  • Flip Discard is only available on Windows 10.
  • Discard is the only swap effect compatible with multi-sampling.

How To Use

D3D Enforcer requires no installation.
  1. Download and unpack the archive
  2. Start d3denforcer.exe
  3. Left click D3D Enforcer (X) tray icon to bring up the main dialog
  4. Click Add and choose an executable of the application for which you want to create a profile
  5. Configure the settings and click Apply to save the profile
  6. Start the application

Notes

  • There may be compatibility issues with other software that hooks Direct3D APIs e.g. fullscreen overlays.
  • Some anti-cheat systems may treat DLL injection and API hooking used in D3D Enforcer as a cheat.