elishacloud / dxwrapper

Fixes compatibility issues with older games running on Windows 10/11 by wrapping DirectX dlls. Also allows loading custom libraries with the file extension .asi into game processes.
zlib License
1.15k stars 82 forks source link

fixed #224

Closed ghost closed 9 months ago

ghost commented 9 months ago

Hi! I play a game called metin2 that is directx 8 but i use d3d8to9, nvidia msaa it's working only with disabled fullscreen optimisations (legacy flip), with fso msaa doesn't work. And i have another question, can you integrate fullscreen exclusive in the d3d8to9 dll? I want to use it without the ini file.

elishacloud commented 9 months ago

a game called metin2 that is directx 8 but i use d3d8to9, nvidia msaa it's working only with disabled fullscreen optimisations (legacy flip)

I am not sure there is much I can do here. I suspect this is either an issue with Nvidia or with Windows. Note: there is a way to enable fullscreen optimization in dxwrapper by enabling the DisableMaxWindowedMode option.

And i have another question, can you integrate fullscreen exclusive in the d3d8to9 dll? I want to use it without the ini file.

Here is a build of dxwrapper with DisableLogging, D3d8to9 and AntiAliasing all enabled. It does not need any ini file: d3d8.zip

ghost commented 9 months ago

With this i still have copy from GPU GDI even on fullscreen. I saw here on issues this file. With this it's enabling exclusive fullscreen( legacy flip) and fullscreen borderless (independent flip). Can you integrate ForceExclusiveMode option without ini file?

dxwrapper.zip

elishacloud commented 9 months ago

With this i still have copy from GPU GDI even on fullscreen.

I am not sure what you mean here. Can you try another way to explain this?

Can you integrate ForceExclusiveMode option without ini file?

Sure. This has AntiAliasing, D3d8to9, DisableLogging and ForceExclusiveFullscreen hard coded to be enabled with out any ini file: d3d8.zip

ghost commented 9 months ago

d3d8withoutini withini Thank you for the file, is working good. With copy from GPU GDI i mean in presentmon it was showing like this, i want to bypass dwm vsync in this game. With the file you sent me now is working great. The game has not an option for "real fullscreen" its windowed borderless with bitblt presentation. I wanted to make it work without dwm vsync (legacy flip and independent flip). Still with independent flip i can't add msaa with nvidia control panel to the game. Thank you so much for this, i greatly appreciate the work you do. Is vsync disabled in the d3d8.dll you sent me? You know why with the file you sent me i have msUntilrendercomplete and msuntildisplayed higher? The one with lower numbers are with the ini file.

ghost commented 9 months ago

Can you remove antialiasing from dll? I see that antialiasing is working without antialiasing 1 in the ini file.

elishacloud commented 9 months ago

Is vsync disabled in the d3d8.dll you sent me?

No. vsync is not controlled (on or off) in the dxwrapper I gave you. It just passes whatever the game says to DirectX.

You know why with the file you sent me i have msUntilrendercomplete and msuntildisplayed higher?

No, I am not quite sure what those items are. Other than the settings I mentioned (AntiAliasing, D3d8to9, DisableLogging and ForceExclusiveFullscreen), everything else is just passing directly from the game to DirectX.

BTW: if there is a delay added, it probably comes from AntiAliasing. I set it at the highest setting. AntiAliasing can cause the GPU to work harder and take longer to render each scene. Also, in some cases rendering frames can be slower when not disabling MaxWindowedMode (i.e. fullscreen optimization).

elishacloud commented 9 months ago

Can you remove antialiasing from dll? I see that antialiasing is working without antialiasing 1 in the ini file.

Sure. Here is the update. Same as the last, just without AntiAliasing: d3d8.zip

ghost commented 9 months ago

Thank you so much, it was the antialiasing. Now i have the same latency and antialiasing still working from nvcp. Still i can't make antialiasing work with fso (independent flip) but i will play fse. Thank you for your patience.