DirectX9 to DirectX12 API proxy for Guild Wars 2
OTHER License
Bot releases are visible (Hide)
Published by megai2 about 5 years ago
Optimized multithreaded GPU write code, this should make replay_threads > 1 configs more viable (AMD rejoice!)
Optimized out batching when no data is written on GPU (less GPU usage)
Extended RTV & DSV heaps, to fix out of slots crash (your 69 characters are safe now =])
Fixed hang due to texture-surface ref counting going out of order
Added new NaN guard flags in config to fix NRM opcode behaivour (fixes that dirty spring snow in BnS, and maybe even more)
Fixed some instability in BnS (probably including prem effects crash)
Changed perf_graph results, now it shows statistics in stacked up image that consists of dx9 and dx12 results.
Updated shader profiles for GW2, shader profiles and cache for BnS.
Do clean install on this release due to shader related pck and config update.
Thanks for Jojo and Alrai for shader profiles and cache.
Published by megai2 about 5 years ago
-Fixed shadows in BnS
-Fixes related to BnS GPU crashes
-General crashfixes
-Optimized GPU-CPU transfers
-Optimized DUP calls
Note: Do a clean install with this update.
-Fixed memory leak in com deallocation
-Silenced up some error messages
-GPU crashfix in DUP calls
-GPU crashfix in thread ref logic
-Added force crash on vfs file IO error at startup
-DEPTH semantic implementation for HLSL generator
-Improved RCE code to include more IA entry types
-Fixed cull render state
-Crashfixes in com ref counting
-Fixed GPU execute wait crash
-Updated default shader profiles & cache for BnS
-Optimized GPU upload code
-Optimized DUP calls
apitrace - for providing good method to trace down things on dx9
Ehren Eugen - for troubleshooting BnS GPU crash
Published by megai2 about 5 years ago
Changelog:
-Optimized reduntant state set calls (BnS renderer)
-Fixed some frame/thread transition errors (visual corruption/flicker)
-dx9 mode perf graph now writes data to disk every 5 minutes
-Improved debug logging
-Crashfix in DUP DPI buffer allocation (BnS UI renderer)
-Added placed resource approach for surfaces/textures (that is optional)
-Added TDR crash logging and reg files to switch TdrDelay at will (BnS load screen crash)
Published by megai2 about 5 years ago
Changelog:
-Fixed CPU over utilization
-Added VRAM usage counter to metrics
-Fixed GPU crash with surface_ctor=1
-Lowered default BnS config RAM usage
-Fixed draw up GPU crash
Published by megai2 about 5 years ago
Changelog:
-Fixed screenshot crash in BnS (may depend on GPU driver)
-Fixed some GPU crashes related to overlay/BnS
-Fixed GPU crash related to offscreen surface rendering
-Fixed visual bug related to texture filtering mode
-Fixed visual bug from wrong HLSL precision (black squares on shadow in gw2)
-Tweaked default config to save some RAM usage
-Added custom config for high power rigs (for Gw2 only, rename/copy gw2_hiend_config.ini to config.ini)
-Tweaked thread wake factors to cut some CPU waits
-Switched GPU write to lockfree algorithm when replay_threads > 1. (currently it will heavily load GPU)
-Optmized out some unused upload memory
-Fixed shader profile application and improved PCF profile collection
-Added config option to disable GPU object residency manipulation
-Allowed >4Gb vstream and upload pools
Note: Do a clean install with this update.
Published by megai2 over 5 years ago
Changelog:
-Fixed transparency issues in BnS
-Fixed StateSafeFlush to prevent artifacts/garbadge on screen when hiting batch limit (most notable in BnS)
-Allowed more than 4 Gb pool limits
-Added extra config option to force object residency (for stutter-free configs)
-Buffered DUP vstream objects to improve performance (0,4ms cut)
-Some crashfixes/GPU crashfixes
Published by megai2 over 5 years ago
In summary this pushed API overhead cut to almost 90%
This proved to fix some memory fragmentation problems lowering extra memory commission
This change lowered summary CPU time usage on whole project,
but opened up some parallelism problems on replay threads more than 1,
effectively showing parts to improve.
This lowered shared GPU memory usage, bandwith and object creation times, what gived less stutter on dynamic scenes.
This lowered memory usage in textures by ~75%
This can be usefull if you want to cut persistent memory usage.
Now it is using plain megabyte values instead of per group limits.
Give a big thanks to Alrai as this pack should fix many problems with reflections in water
By default that switches configured to fix some visual bugs (like a Skyscale horns) with low performance impact
Still they give ability to cut more bugs if found.
Occlusion queryes will work only with 1 replay thread.
Due to nature of dx12 they will cut overall performance if enabled!
HLSL recompilation switches and upload memory usage improvements fixed most problems with Blade and Soul renderer.
Currently there is still 0.4-1ms frame time improvement window, but overall things work good.
Read wiki page on installing: https://github.com/megai2/d912pxy/wiki/Installing-for-Blade-&-Soul
Published by megai2 over 5 years ago
Changelog:
-fixed startup crash in occlusion query code
Published by megai2 over 5 years ago
-Visual fixes
-Added memory alloc retry and logging
-Added bunch of debugging tools related to memory managing
-Fixed memleak in surface code
-Crashfix in fixed pipeline draw calls
-Replace ps and pb builds with config.ini options
-Partly offloaded GPU write code to replay thread
-Changed output of perf graphs to html files
-Fixed black pieces on mount models(for Skyscale at least)
-Optimized memory allocation a bit
-Optimized PSO cache memory bandwith
-Crashfix in triangle fan skip code
Visual bugs aid:
-HLSL generator fixes & improvements
-DX9 PSO realtime check support (optional)
-Occlusion query implementation (optional)
-CommitBatch2 for more complex drawing
-DrawUP/DrawIndexedUP improvements/implementation
-MinVertexIndex usage implemenation
Optimizations:
-CommitBatch optimization
-Zero write render target optimization
-HLSL generator in-memory compile
-CPU based API reduction code (optional)
Additional:
Basic support for Blade & Soul
Note:
This release need a clean install.
Special thanks:
to AlraiLux for testing/tinkering with latest occlusion code
Published by megai2 over 5 years ago
Changelog:
Visual bugs aid
-HLSL generator fixes & improvements
-DX9 PSO realtime check support (optional)
-Occlusion query implementation (currently slow & optional)
-CommitBatch2 for more complex drawing
-DrawUP/DrawIndexedUP improvements/implementation
-MinVertexIndex usage implemenation
Optimizations
-CommitBatch optimization
-Zero write render target optimization
-HLSL generator in-memory compile
-CPU based API reduction code (optional)
Basic support for Blade & Soul
Published by megai2 over 5 years ago
Changelog:
-Partly offloaded GPU write code to replay thread
-Changed output of perf graphs to html files
-Fixed black pieces on mount models(for Skyscale at least)
-Optimized memory allocation a bit
-Optimized PSO cache memory bandwith
Note:
This release need a clean install.
Published by megai2 over 5 years ago
Changelog:
-Visual fixes
-Added memory alloc retry and logging
-Added bunch of debugging tools related to memory managing
-Fixed memleak in surface code
-Crashfix in fixed pipeline draw calls
-Replace ps and pb builds with config.ini options
Published by megai2 over 5 years ago
Crashfixes
Thread sync optimization
Code optimization
Windowed fullscreen vsync support
Fullscreen focus lost DXGI hang recovery
Fullscreen out of memory crashfix (can be buggy still)
RAM usage optimization
Visual effects bugfixes
Party character portraits, spider webs, alpha blend on revenant skill animations
Basic multi-instance run support
GW2Radial support crashfix
Extra shader variables space for custom needs
Improved default config
Object pooling and construction improvements
Greatly improves FPS stability on heavy multicore CPU's
Now all surfaces with determined amount of mip levels using pooling mechanism to save memory commitment and recreation time.
Also extra config options allows you to offload construction of resources from calling thread for more overhead reduction.
Published by megai2 over 5 years ago
Changelog:
-fix of Clear on non full sized viewports
-improve pooling of surfaces
-fix revenant skill vfx alpha test error (maybe something more fixed too)
-move basic shader cache back in
Published by megai2 over 5 years ago
-crashfixes
-extended shader variables for customshaders & porting overhead
-ATTENTION: do clean install!
Published by megai2 over 5 years ago
Changelog
-crashfix for GPUExecuteWait
-threaded constructor bug fix
-fix performance graph to see under min and over max values on borders
Published by megai2 over 5 years ago
Changelog:
-DXGI deadlock recovery, should fix hangs on fullscreen(and maybe more)
-thread sync optimization
-improvements on DXGI handling
-extra configurable multithreading features for better frame rates on dynamic object creation
-object pooling crashfixes
-code optimization
Published by megai2 over 5 years ago
Changelog:
-reduced memory usage
-added multi-instance support (for multiple game runs at same time)
-vfx bug fixes
-cleanup hang fix
-fullscreen out-of-focus crash fix
-add extra logging
Published by megai2 over 5 years ago
Changelog:
-better overhead tracking
-thread sync optimization
-async texture load optimization
-pool sync optimization
Published by megai2 over 5 years ago
Changelog:
-startup crashfix
-windowed fullscreen vsync support
-possible fix of alt-tab failures