Release v1.1
General changes
1. Object layout and COM representation low level optimization
In summary this pushed API overhead cut to almost 90%
2. Page-aligned memory allocation for COM objects and GPU host memory
This proved to fix some memory fragmentation problems lowering extra memory commission
3. Global objects lookup change
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.
Memory usage and pooling
1. Upload memory is now filled tightly, without extra 64kb aligment
This lowered shared GPU memory usage, bandwith and object creation times, what gived less stutter on dynamic scenes.
2. Fixed a BIG bug in texture memory size calculations
This lowered memory usage in textures by ~75%
3. Added per draw replay items configuration
This can be usefull if you want to cut persistent memory usage.
4. Pooling config for vertex streams and upload memory is changed
Now it is using plain megabyte values instead of per group limits.
Visual fixes
1. Added big pack of shader profiles for Gw2
Give a big thanks to Alrai as this pack should fix many problems with reflections in water
2. Added various optional HLSL recompilation switches
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.
3. Fixed occlusion culling flicker
Occlusion queryes will work only with 1 replay thread.
Due to nature of dx12 they will cut overall performance if enabled!
Support for "Blade and Soul"
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