Reply 100 of 108, by lowenz
At runtime only? It would be extremely good
At runtime only? It would be extremely good
UPD: in Vice City just need to disable the game frame limit (in game menu - video options). And ResX\Y=-1 if using GTAVC.WidescreenFix.
I suggest option for wrapper set affinity mask for game. Many games can work only on one or two cores (or 2 or 4 threads if HT is on).
For example i noticed from the game Blitzkrieg 2 (which not runs if not start with /affinity, because this game not see more 6 threads) if i start Blitzkrieg 2 with /affinity 1 game start but perfomance dramatically bad (because used 1\2 from one physical core). If /affinity 3 (1 + 2) that better but have stutters (because in reality game runs on 1 physical core). If /affinity F (1 + 2 + 4 + 8 = F) that much better (because game use 2 physical core). If /affinity 6 (2 + 4) game can (50% chance) not runs (something with threads between physical cores). F - best choice with HT.
So i tryed newest version with dungeon keeper D3DImm and DDraw. Games lunches. Intro Works fine menu works fine. But when you start a game. The game crashes.
Tryed Dungeon Keeper Gold with 3d3 patch
Deeper Dungeon and the Original with D3d Patch 😀
I don't have a clue when I will have a new version, so I release the current state as a WIP (mostly fixes for problems I encountered):
=========================
WIP95
=========================
Changes compared to v2.82.3:
http://dege.fw.hu/temp/dgVoodooWIP95.zip
http://dege.fw.hu/temp/dgVoodooWIP95_dbg.zip
Some explanation for DirectXExt\D3D12BoundsChecking: it's for cases when a D3D8/9 game accesses the vertex shader register array in out-of-bounds (OOB) way (buffer overrun).
It causes a GPU crash with dgVoodoo by default. The fix should not have an option, because D3D8/9 specs are clear about this case, so it should just be implemented in dgVoodoo.
However, according to my profiling, the implementation of bounds checking can cause 8-9% performance drop in certain cases wih certain games. That's a lot.
I cannot optimize it away, the (certain) needed D3D12 call is simply too expensive for extreme frequent usage, at least with my NV driver (did not tested other GPU's).
I only know of 2 games requiring this, The Witcher and Bound by Flame, so I decided to make this feature optional. Enable it if your GPU crashes with the D3D12 backend.
For the time being, I think I'll release a new patch version, 2.82.4.
I'm (very slowly) working on other under-the-hood developments and ran into some bugs for which a fix worth to / should be released.
I backported some fixes to the lates release, that's what 2.82.4 is about:
=========================
2.82.4
=========================
http://dege.fw.hu/dgVoodoo2/bin/dgVoodoo2_82_4.zip
http://dege.fw.hu/dgVoodoo2/bin/dgVoodoo2_82_4_dbg.zip
I also updated WIP95 with the latest fixes:
=========================
WIP95.1
=========================
http://dege.fw.hu/temp/dgVoodooWIP95_1.zip
http://dege.fw.hu/temp/dgVoodooWIP95_1_dbg.zip
I release a new version with the latest fixes and also updated WIP95:
=========================
2.82.5 / WIP95.2
=========================
http://dege.fw.hu/dgVoodoo2/bin/dgVoodoo2_82_5.zip
http://dege.fw.hu/dgVoodoo2/bin/dgVoodoo2_82_5_dbg.zip
http://dege.fw.hu/temp/dgVoodooWIP95_2.zip
http://dege.fw.hu/temp/dgVoodooWIP95_2_dbg.zip
Dege wrote on 2024-03-19, 12:42:
- Refactoring a lot of code in DDraw to implement resource sharing, to be compatible with MS DDraw (flashing screen in Colin McRae Rally 2)
Now CMR2 flashes really badly on 2.82.5 after changing in-game resolution (Options -> Graphics -> Advanced Graphics -> Display Mode). I'm using SilentPatchCMR2 and flashing only occurs when I set "Window=0" in SPCMR2.ini (I prefer forcing windowed mode through dgVoodoo because SilentPatch "Window=1" performs horribly).
I cannot work on dgVoodoo these days, and I need some fresh air anyway, but I have some minor changes:
=========================
WIP95.3
=========================
http://dege.fw.hu/temp/dgVoodooWIP95_3.zip
http://dege.fw.hu/temp/dgVoodooWIP95_3_dbg.zip
*Notes:
I'll work on other reported problems. Slowly...