narzoul / DDrawCompat

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

Not work on the DirectX7 games. Could you help me. #153

Closed dzdhome closed 10 months ago

dzdhome commented 1 year ago

I have a funny tank game. It run well in the Win XP, Which was programed Base on the DirectX7. With the ddraw.dll which you provide, It can be run in the Win10 well. But it not work in the Win11. Could you have a look. Below link is the game. https://wws.lanzouy.com/iOMiQ0dntqvi

narzoul commented 1 year ago

I have Windows 11 and the game works just fine in both windowed and fullscreen mode. What does "not work" mean in your case? Does it not start? Does it crash? Is there some graphics issue?

Please enable the LogLevel=debug setting and attach the debug logs (DDrawCompat-Tank.log).

dzdhome commented 1 year ago

Thank you for your reply. below link is the video when I open the game. https://youtu.be/SSPi5lFlf9E

Normal Log DDrawCompat-Tank.log

Debug level Log DDrawCompat-Tank.zip

dzdhome commented 1 year ago

My PC information: Operating System: Windows 11 家庭中文版 64-bit (10.0, Build 22000) (22000.co_release.210604-1628) Language: Chinese (Simplified) (Regional Setting: Chinese (Simplified)) System Manufacturer: LENOVO Processor: 12th Gen Intel(R) Core(TM) i7-12700H (20 CPUs), ~2.3GHz Memory: 32768MB RAM DirectX Version: DirectX 12 Internal GPU: Intel(R) Iris(R) Xe Graphics GPU2: NVIDIA T1200 Laptop GPU

narzoul commented 1 year ago

Ok, thanks! I can reproduce the issue now by enabling the ForceD3D9On12 setting. On your system, I suppose it's enabled by default because your Intel driver doesn't have native Direct3D 9 support. See here: https://www.intel.com/content/www/us/en/support/articles/000091239/graphics.html

Even though you also have an NVIDIA GPU, as far as I know there is no way to use that for Direct3D 8 and older APIs. See here: https://nvidia.custhelp.com/app/answers/detail/a_id/3733/~/games-based-on-directx-8-and-older-versions-of-directx-will-only-run-on

Unfortunately, D3D9On12 doesn't work well with this game even without DDrawCompat, so the issue is at least partially on that side, although the artifacts are different than with DDrawCompat. I'll try to improve compatibility with D3D9On12 in the future, but I'm not sure when I'll be able to get to it.

dzdhome commented 1 year ago

Thank you for your checked. It's seems really difficult. I have the patience to wait. wish you success. Thanks again.

narzoul commented 1 year ago

Let's keep this open until I can fix it, so that I don't forget about it.

narzoul commented 10 months ago

This particular game seems to work well now in v0.5.0.

dzdhome commented 10 months ago

Yes. It's work. Thank you very much.