Skip to content
/ d912pxy Public

DirectX9 to DirectX12 API proxy for Guild Wars 2

License

Notifications You must be signed in to change notification settings

megai2/d912pxy

Repository files navigation

d912pxy - "DirectX9 to DirectX12 API proxy for Guild Wars 2"

d912pxy is a way to make games that use DirectX 9 use DirectX 12 instead, without changing any game code.

This is specifically designed for Guild Wars 2. You can try to use it with other games; it might work.

Tool will show overlay when it installed correctly, use default hotkey Ctrl+Alt+N to toggle its mode (hide/show)

Expect some minor crashes / visual bugs.

Note: project will be achived when guild wars 2 dx11 beta ends, no support for other games are planned/in works.

Current Version Github Downloads Build status Discord Patreon

WARNING: USE OF THIS SOFTWARE IS ENTIRELY AT YOUR OWN RISK!

Showcase

Profiling shows that the API overhead for d912pxy is up to 86% (r255,custom config) less than that of plain DirectX9. Real performance differs based on the scene and the hardware.

Benchmarking results on i7-7700/GTX960:

CPU-bound scenario

(running Mistlock Sanctuary with custom config)

@5.5k batches, all max, 1080p, v0.9.9.3a

dx9
  min FPS: ~6.2
  max FPS: ~24.1
dx12
  min FPS: ~20.9
  max FPS: ~31.5
boost:
  min FPS: ~237%
  max FPS: ~30%
  
gathered by performance data accumulation and interpolation

GPU-bound scenario

(1h fractal runs)

@all max, 1080p, v0.9.6.2a

16.4% to 2.5% less frame time

calculated based on API profiling & metrics data

This is affected by performance recording, and should be better in normal situations

DX12:

https://cdn.discordapp.com/attachments/477036595019644928/539417113593380865/unknown.png

DX9:

https://cdn.discordapp.com/attachments/477036595019644928/539417612501647360/unknown.png

Video by reddit u/moriz0, running WvW in 4k: https://www.youtube.com/watch?v=RQAB7Ma20Ow&

Installing

Base guide (EN)

Using with other addons and overlays

Known bugs

Bug:

Fullscreen/Alt+Enter crashing/hanging my game.

Troubleshooting:

Avoid using fullscreen mode and Alt+Enter mode switching due to DXGI limitations. While it works and even recovers from DXGI deadlock, this is not 100% safe. To recover from this bug manually, do soft-reboot: use Ctrl+Alt+Delete -> Logout.

Bug:

Crashes with 3-rd party tool/overlay/addon

Troubleshooting:

Check is your tool/overlay/addon compatible with d912pxy here. If you see no comments for your case, report crash

Bug:

Pop-ins/slow loading/missing objects

Troubleshooting

This is normal for clean/first install as tool generates shader cache from ground up. After shader cache is generated, load times will be much faster. If you want to eleminate this problem once and for all, use PSO precompile and/or ready-to-use shader packs

Bug

Game/installer are not starting

Troubleshooting

Update MSVC

Bug

Nothing happens when installed

Troubleshooting

Ensure that d3d9.dll is in game root folder or bin64 folder. Then try using this https://github.com/megai2/d912pxy/wiki/Removing-compat-flags

Troubleshooting

Case #1: Game crashes/hangs/not starting

Case #2: Visual errors

Case #3: Unnatural performance drops