narzoul / DDrawCompat

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

3D Render not working when using 1440p in internet explorer #92

Closed dot-mike closed 3 years ago

dot-mike commented 3 years ago

Hi!

First off, thank you for this amazing work! I'm reporting an issue with this as I can't get it to work with an old Internet Explorer plugin: https://github.com/docbrown/blaxxun-cc3d - also known as VRML or Blaxxun Contact.

We at https://github.com/FlashpointProject are working to get old games working on modern computers and I've encountered an issue trying to get DirectX 7 to play nice with VRML with DDRawCompat

The issue is that the 3D content does not render in the IE window, it freezes and there is nothing one can do. So, I was wondering how I can further troubleshoot??

Log attached DDrawCompat-FlashpointSecurePlayer.log

narzoul commented 3 years ago

Use the ReleaseWithDebugLogs version from the debug package for extended logging. If you want me to investigate it, please provide instructions on how to reproduce the issue.

dot-mike commented 3 years ago

Hi and appreciate your answer and your willingness to reproduce the issue: I've provided instructions below for this.

Looks like something is stuck when I look in the logfile, the size quickly grew over 7MB(!) within a few seconds. I did attach API Monitor and keeps repeating a few calls over and over again...

To reproduce this issue:

  1. download Flashpoint 9.0 Infinity from right hand side: https://bluemaxima.org/flashpoint/downloads/ (permanent URL: https://bluemaxima.org/flashpoint/Flashpoint%209.0%20Infinity.exe )
  2. Unpack and open up folder Flashpoint 9.0 Infinity.
  3. Navigate to FPSoftware\VRML\Blaxxun44 drop in ddraw.dll
  4. Navgate back to root dir FPSoftware and launch the shortcut for Flashpoint: Start Flashpoint
  5. One the software has loaded, click Games-tab and at the top there is a search-field, type in "Cybertown Plaza" then click the big green Play-button.

What will now happen after Play-button is clicked: The software will launch a new process FPSoftware\startBlaxxun44.bat that will spawn FPSoftware\FlashpointSecurePlayer.exe which a software made by Flashpoint (https://github.com/FlashpointProject/FlashpointSecureTools) in order to "sandbox" and run stuff through internal proxy (emulate the internet). Up on start of FlashpointSecurePlayer.exe it will read a config from FPSoftware\FlashpointSecurePlayerConfigs\blaxxun44.config that defined registry / environment variables for VRML and it sees that on line 9 that it should spawn a browser, so it uses an internal Internet Explorer component from .NET to do this and this where the issue arises.

narzoul commented 3 years ago

Got it, thanks! Unfortunately I cannot reproduce the issue. My logs look exactly like yours but rendering works fine. I can move around and pan the camera by holding down the left mouse button and dragging the mouse. Haven't noticed any issues.

Does it work without DDrawCompat? Are you on Windows 10?

dot-mike commented 3 years ago

Hi again, I tried this in a Windows 7 VM utilizing Hyper-V and surprisingly it worked with fine with and without DDrawCompat. On my Windows 10 version 2004, it did not work....

narzoul commented 3 years ago

Windows 10 20H2 here. It may be a GPU driver specific issue. I can't test NVIDIA GPUs.

When the window is frozen, open Task Manager (ctrl+shift+esc), go to the Details tab, right click on FlashpointSecurePlayer.exe and select "Analyse wait chain". Does it indicate any problems? You can also create a crash dump from the context menu (Create dump file) that I could look at, along with the debug logs.

dot-mike commented 3 years ago

@narzoul Thank you at least for checking it out. I'm using Win 10 with a Nvidia GPU. Actually, without any DDrawCompat I get this error message: image

Checking DXDiag, my GPU shows up fine, also just updated the GPU driver and Windows Version to 20H2 just in-case.... this really bugs me now

EDIT: Issue found, it does not like my 2560x1440p resolution Do you know anything about fixing this??

Reduced file log attached when using 1440p (8MB!)

DDrawCompat-FlashpointSecurePlayer.log

dot-mike commented 3 years ago

Closing issue. Not DDrawCompat issue, more related to DX7 and modern hardware issue (I guess) as my resolution is above 1080p (1440p to be exact). Fixed using https://github.com/elishacloud/dxwrapper