d912pxy

DirectX9 to DirectX12 API proxy for Guild Wars 2

OTHER License

Stars
1K

Bot releases are hidden (Show)

d912pxy - Release v2.4.4.1 Latest Release

Published by megai2 about 3 years ago

Updated gw2 addon deps

d912pxy - v2.4.4

Published by megai2 over 3 years ago

-Reduced memory usage by disabling hw cache by default & vfs precache flags tweaking

In long term latest.pck grows too big making proxy use extra RAM (1-3Gb) when hw cache is enabled
and precache flags was too old loading data that is not actually realtime-needed anymore
hw cache can be turned back on in config, as well as precache flags (for ones who want zero-lag-zero-pop-in)

-Allow selecting GPU that will be used via config file

see lines in log

0: VRAM: 005980 Mb | FL: FL_12_1 should work 100% (15) | NVIDIA GeForce RTX 2060
1: VRAM: 000128 Mb | FL: FL_12_1 should work 100% (15) | Intel(R) UHD Graphics 630

and select needed gpu by

[dx]
force_gpu_index=1

-Now when some critical error occurs - standard windows error popup will be showed.
No more log reading to get why something is not working.

-Fix startup/data save problems when pck folder is missing
Now latest.pck will be correcly created even if pck folder is missing

-Allow installing d912pxy outside of game folder
You can put d912pxy folder somewhere in game folder path, and just move d3d9.dll near game
This fixes problems with some games that forbid adding/accesing folders/files to game installation (BnS, Lost Ark, etc)

Short example
putting proxy dll to q:/collection/games/awesome_game/bin/d3d9.dll
and d912pxy folder in q:/collection/d912pxy
will make proxy load config & etc from q:/collection/d912pxy

-Fixed wrong rendering due to wrong StartInstanceLocation & MinVertexIndex usage
Affects Lost Ark and maybe BnS

-Somewhat final gw2e support implementation
There is still room to improve, but right now it works quite stable and reasonable fast,
allowing to utilize various "special" information from game for better postfx

d912pxy - v2.4.3.2

Published by megai2 over 3 years ago

Added a number of crashfixes for Guild Wars 2 06.04.2021 build
+small crashfix to properly handle BnS shaders with added changes

d912pxy - v2.4.3

Published by megai2 over 3 years ago

Small update to 2.4.2

-added optional relaxed GPU work submission compat option to config,
enable it if you have GPU timeouts

[compat]
relaxed_gpu_submission=1

-updated BnS configs
-enabled DXGI fullscreen deadlock workaround, to avoid fullscreen problems
-some stuff for gw2enhanced

d912pxy - v2.4.2

Published by megai2 over 3 years ago

Small update to 2.4.1

-added 32bit build selection in installer
-updated ready to use configs (see and use them in d912pxy/config folder)
-redo reshade compat on new pass detector (for gw2enhanced)
-added sleep prevention when in true fullscreen mode to avoid system lock-ups

d912pxy - v2.4.1

Published by megai2 over 3 years ago

Small update to v2.4

-Restored fullscreen support and probably fixed it for good
-Support for SelectRender addon, for yours reshading needs =]
-Added button to hide overlay in overlay itself

d912pxy - v2.4

Published by megai2 almost 4 years ago

Added reshade compat iframe mod
-This is WIP feature in general, better to wait for ready to use setups
-allows feed reshade with a additional data for various purposes (like UI skip)
-for it to work you need a special/latest reshade + reshade_compat as primary iframe mod source
(special reshade currently available here )
-all ingame postfx should be disabled for proper work (no AA, no postprocessing, no AO, no depth blur)

Fixed depth read/write barriers: fixes some crashes with 3-rd party overlays, drivers

Use win API instead of shell commands in installer: this should make various antivirus softwares happy

Removed AVX & AVX2 builds from release package: they are proven useless or even reducing performance
(can be builded by hand anyway)

Removed different debug binaries from release package: reduce download size

Enable cache save & load by default, but limit precompile size by 10k items: fixes character portraits & some pop-ins

Utilize hw based PSO cache: reduces precompile & compile times

Fixed GPU being not fully utilized in GPU bound scenarios (maybe fixed GPU being underclocked due to that)

Reduced GPU usage on always enabled atest&srgb emulations.

Added some heuristics to select better config values automatically based on VRAM/RAM amounts

Disabled fullscreen mode - it was anyway broken, maybe will be fixed later

Disabled async constructors for low core-count systems, to avoid performance penalty on said systems.

Fixed PSO inconsistency due to hash collisions & unsafe type widening

d912pxy - v2.3.1 + "hotfix"

Published by megai2 almost 4 years ago

Small changes:
-D3DDevice9::SetTexture optimization
-Enabled threaded construction for vstream/texture objects by default
-Added config for League of legends
-Fixed shader compiler loading on windows 7
-Possible fix for multi-instance runs VFS access error/corruption

Hotfixed dll file version, win7 support, default config values.

d912pxy - Version v2.3

Published by megai2 about 4 years ago

Summary

32-bit builds are now available for manual installation

This allows tool to be used for number of other games that does not have 64-bit builds

Added overlay toggle hotkey tip in overlay that is showed for number of seconds from startup

There was lot of confusion about default hotkey combo.
Now you can see it on startup!

Shader profiles are not longer used

Shadows, transparency effects, reflections clipping, will now work out of the box,
no extra steps or updates needed

Shader compilation now uses multiple threads

This significantly speeds up initial shader cache build process,
especially on multi core systems.

Other small changes

-Fixed overlay being unresponsive on windows 7
-Added MRT support (fixes broken GW2 HoT/PoF cutscenes)
-Implemented number of missing DX9/DXBC elements
-Introduced base for API stream transformations
-Code cleanup&optimizations

Extra notes

  • Old pck files are considered outdated - shader caches from earlier version will not work
  • Initial shader compilation can take more time due to extra variativity being implemented
d912pxy - Version v2.2.1

Published by megai2 about 4 years ago

Small changes:
-Better workaround for broken depth in gw2 character portraits (can broke something, but makes portraits correct)
-Fixed on exit hung in gw2

d912pxy - Version v2.2

Published by megai2 about 4 years ago

Summary

-Initial support for Astellia online and Lost Ark
-Now d912pxy will show "greetings" message on fresh install
-Visual fixes for booze effects & fire/smoke/etc in preview window in GW2
-DXGI frame latency support
-Small improvements of GPU query performance
-Crashfix for GW2 28.07.2020 patch
-More api hacks for better 3rd party addons support

d912pxy - Version 2.1.2

Published by megai2 over 4 years ago

Summary:
-Updated shader profiles for gw2: fixes missing shadows/square around some effects
-Fixed pck files corruption & write-failures: should properly save shader cache
-Fixed on exit crash
-Added powershell script to fix "addons/mods not-loading" problems
you can use it to clear compat flags or remove them by hand

d912pxy - Version 2.1.1

Published by megai2 over 4 years ago

Minor changes:

Fixed GPU crash & visual corruption

d912pxy - Version 2.1 Hotfix #1

Published by megai2 over 4 years ago

Summary:

  • Minor crash & compatibility fixes
  • Fixes for GW2 renderer changes
  • Config editor in extras overlay

Detailed:

  • Updated dx12 for win7 libs to include some memory leak fixes
  • Added config editor in overlay (see extras block in config to enable)
  • Fixed GPU crash due to dx9 specific null render targets
  • Fixed rare GPU crash in arcdps/gw2radial compat code
  • Added automatic selection between SSE, AVX & AVX2 builds in installer & gw2addon
    (this removes AVX CPU requirements)
  • Updated gw2 shader profiles to correct shadows missing after game update
  • Enabled proper occlusion by default for gw2
  • Fixed windowed mode resize crashes
  • Moved extras imgui config to d912pxy folder
  • Hotfixed edit config overlay button working wrong

Note:
Do clean install or remove d912pxy/pck/latest.pck after installing

d912pxy - Version 2.0

Published by megai2 over 4 years ago

Summary

-Code cleanup & optimizations: now is even faster (up to 20% on some code parts)!
-Features improvement: overlay is not so intrusive now, PSO cache can be shared too
-Memory management improvements: now saves some RAM if game is greedy on objects
-Small bugfixes

Hightlights

-Extras overlay now can be toggled between 3 states using hotkey

  1. hidden - no overlay is drawn
  2. showed - overlay is drawn but does not accept user input
  3. editable - overlay is drawn and accepts user input

extras->overlay_toggle_key - key code used in Ctl+Alt+"key" combo that toggles overlay state
Default hotkey comb is: Ctrl+Alt+N

-FPS graph area in overlay can be configured via extras->fps_graph_* config values

-extras->fps_limit_inactive config value now sets up fps limit that is used when game is not active

-default release build is now using avx instruction set, moreover, you can install avx2 build via installer(or by other means from dll/release_avx2)

-garbadge collection thread is now configurable with 3 new values, read about it here https://github.com/megai2/d912pxy/wiki/Custom-configuration#cleanup (and if you want to improve this page, you can do it!)

-improved RCE code for BnS that lowers shader compilation time & amount of derived CSO data

Full changelog

https://github.com/megai2/d912pxy/compare/v1.9h2...v2.0

Attention

Please do a clean install of this release due to changed CSO/PSO cache formats!
Do not use old pck files, they will not work by default.

Download and install latest msvc redist if you can't start games with tool installed
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

Special thanks

To all GW2 Development Community discord folks, for testing & troubleshooting various things!

d912pxy - Version 1.9 hotfix 2

Published by megai2 almost 5 years ago

-Added FPS limiter & informational overlay, both are configurable in [extras] section of config file

  • Example config section to limit FPS to 25 and show draw count info
enable=1
fps_limit=25
show_draw_count=1

-Fixed batch data reusage optimization

  • This should fix performance drop that was encountered on 1.7 and 1.8.

-Fixed crash on exit
-Fixed QueryInterface crash

  • While it is not used normally, some 3rd party software or even game can rarely crash on it

-Updated BnS pin screen pck to fix shadow problems

  • You need to delete pck_bns/latest.pck for it to take effect or do clean install

-Added extra config options to control GPU write algorithm and batch data reusage in [batching] section

  • Consider changing this values only if you experience GPU crashes/GPU bottlenecking

-Hotfixed win7 support

d912pxy - Version 1.8.1

Published by megai2 about 5 years ago

This version contains some minor fixes and additions:
-Added more shader profiles for gw2 to fix some visual errors
-Fixed multi-instance support
-Updated installer's shader cache clear option
-Added BnS pin screen cache for sanity

d912pxy - Version 1.8

Published by megai2 about 5 years ago

Summary

ATTENTION: This version needs clean install.

From this version, releases will not contain pre-built shader cache.
Expect longer load times after clean install

Major changes/features:

  • New *.pck format to fight off some problems with data corruption and managment
  • Config option to disable NVidia GPU power throttling
  • Fixed overlay compatibility
  • Fixed visuals corruption & GPU crash
  • Extra info logging

Full changelog

-Code cleanup and compiler tweaks for better performance
-Moved crash.log output to log.txt, no more crash.txt files.
-Adeed extra logging and data dumping on HLSL recompilation failures
-Added force crash on PSO precompile going out-of-bounds
-Skip Intel GPUs if they somehow have more VRAM than other discrete GPUs on system
-Changed DLL load order to prevent some issues with overlays (RTSS, etc)
-Fixed batch data inconsistency that was causing GPU crash.
-Lowered default subsleep value to reduce VRAM usage (will cause some after-map-switch fps lowering)
-Added GPUW & replay buffer usage metrics and overflow checking
-Fixed rare startup crash
-Added more info about RAM and OS used to log
-Added GPU resource sharing support tier to log
-Added config option to disable power throttling on NVidia GPUs
-Added extra logging for DLL load phase
-Fixed sm2_0 LRP opcode
-Fixed some vs1_x multiple RASTOUT outputs
-Remade *.pck code
-Removed old shader cache, added some base shader profiles for GW2 and BnS
-Fixed alphatest overwriting srgb write state
-Fixed profiles load & srgb read state profiling
-Updated README to reflect latest changes
-Fixed possible PCF tracking error
-Fixed RCE layout corruption.

Extra

Thanks to Alrai and Jojo for renewed base shader profiles for GW2 and BnS

d912pxy - Release v1.7.1

Published by megai2 about 5 years ago

Changelog

-Fixed "d3d12.dll not found" error on win7
-Fixed crash in fullscreen mode when running on win7.
-Added addon loader support
-Fixed rare DUP allocation crash (mostly BnS related)

Extra

Thanks Blu & Jojo on GW2 Developement community discord for troubleshooting problems with Windows 7

d912pxy - Release v1.7

Published by megai2 about 5 years ago

Changelog

Fixed premade custom configs and added more of them to use out of box.

Fixed iframe/replay/dup transit crashes & visuals flicker.

Optimized query constructor overhead.

Added win7 support.

Updated gw2 shader cache with Alrai profiles.

Hotfix 1: Fixed startup crash on FL 11_1 GPUs

Extra

Thanks to ppl on discord for testing things out!

Badges
Extracted from project README
Current Version Github Downloads Build status Discord Patreon