narzoul / DDrawCompat

DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11
BSD Zero Clause License
885 stars 67 forks source link

Feature request: GPU Selector #224

Closed PlayNeth closed 1 year ago

PlayNeth commented 1 year ago

Noticed some hard frame drops in some games so I decided to investigate, and it seems like DDrawCompat isn't picking up my nvidia GPU whatsoever, seems to be always rendering from the iGPU despite having the game's .exe selected to high performance in both the nvidia control panel and windows's gpu selector image image image

narzoul commented 1 year ago

I can't do much about it, it's a documented restriction: https://nvidia.custhelp.com/app/answers/detail/a_id/3733/~/games-based-on-directx-8-and-older-versions-of-directx-will-only-run-on

Maybe ForceD3D9On12 can work around it, but I don't have an Optimus laptop to try it. Also compatibility with D3D9On12 is not the best at the moment, and performance is generally worse than native.

PlayNeth commented 1 year ago

But does DDC not wrap most API calls to dx9's though? in theory that should work to just get the GPU to detect the game

narzoul commented 1 year ago

No. This is covered at the very beginning of the README:

There is no API conversion involved, most of the rendering is still done by the native DirectDraw/Direct3D 1-7 and GDI libraries.

PlayNeth commented 1 year ago

I see. There is not a single day that passes where I don't regret not going with the AMD variant of my laptop. Thanks for the info though