VOGONS


First post, by eddman

User metadata
Rank Newbie
Rank
Newbie

dgVoodoo 2.72
Windows 10 64-bit / 19042.630
Geforce GTX 1060 6GB / Driver: 456.71
Monitor: 1080p / HDMI

I don't have much experience with dgvoodoo or wrappers in general.

In max payne, the FPS is capped to my monitor's frequency, e.g. 60 fps when set at 60 hz, 75 fps when set at 75 hz. I tested both D3D11 and 12 at different feature sets; no change.

I've attempted the following:
1. vsync is disabled in both the driver and dgvoodoo.
2. disabling Gamebar and Game Mode.
3. disabling fullscreen optimizations in game's shortcut.

The FPS is uncapped in modern games (no dgvoodoo) that I've tested; no issues.

I haven't tested dgvoodoo with other old games yet, so it might not even be limited to max payne.

EDIT: I know that the game behaves erratically at very high frame rates, but that's not the point. The issue is, why dgvoodoo caps the frame rate at all.

EDIT2: I also tested it with Hitman 2: Silent Assassin; same behavior.

Last edited by eddman on 2021-01-22, 23:49. Edited 9 times in total.

Reply 1 of 6, by bloodem

User metadata
Rank Oldbie
Rank
Oldbie

As far as I remember, you actually need to cap the FPS in Max Payne, otherwise weird things happen (like frozen enemies).
Having said that, I don't remember using dgVoodoo for Max Payne on Windows 10 (it worked out of the box), but I do remember using Riva Tuner to limit the FPS to 60.

Edit: just tested the game with the widescreen patch, works great on the latest Windows 10 version (20H2) @ 2560 x 1440

2 x PGA132 / 5 x Socket 3 / 9 x Socket 7 / 12 x SS7 / 1 x Socket 8 / 14 x Slot 1 / 5 x Slot A
5 x Socket 370 / 8 x Socket A / 2 x Socket 478 / 2 x Socket 754 / 3 x Socket 939 / 7 x LGA775 / 1 x LGA1155
Current rig: Ryzen 5 3600X
Backup rig: Core i7 7700k

Reply 2 of 6, by eddman

User metadata
Rank Newbie
Rank
Newbie
bloodem wrote on 2021-01-22, 20:30:

As far as I remember, you actually need to cap the FPS in Max Payne, otherwise weird things happen (like frozen enemies).
Having said that, I don't remember using dgVoodoo for Max Payne on Windows 10 (it worked out of the box), but I do remember using Riva Tuner to limit the FPS to 60.

Edit: just tested the game with the widescreen patch, works great on the latest Windows 10 version (20H2) @ 2560 x 1440

Could you please remove the cap from rivatuner and test it with dgvoodoo (without the widescreen patch), to see if the fps is capped or not?

Reply 3 of 6, by bloodem

User metadata
Rank Oldbie
Rank
Oldbie

Just tried it with dgVoodoo 2.72.
I removed the widescreen patch (I did not have any frame cap configured now, the game was running at 800 - 1000 FPS, but, as I said, this causes issues in subsequent levels).
Unfortunately, the game does not start for me with dgVoodoo, the process hangs and I have to forcefully close it.

2 x PGA132 / 5 x Socket 3 / 9 x Socket 7 / 12 x SS7 / 1 x Socket 8 / 14 x Slot 1 / 5 x Slot A
5 x Socket 370 / 8 x Socket A / 2 x Socket 478 / 2 x Socket 754 / 3 x Socket 939 / 7 x LGA775 / 1 x LGA1155
Current rig: Ryzen 5 3600X
Backup rig: Core i7 7700k

Reply 4 of 6, by eddman

User metadata
Rank Newbie
Rank
Newbie
bloodem wrote on 2021-01-22, 21:15:

Just tried it with dgVoodoo 2.72.
I removed the widescreen patch (I did not have any frame cap configured now, the game was running at 800 - 1000 FPS, but, as I said, this causes issues in subsequent levels).

Yes, the game isn't capped with its native D3D8 API. That's normal and is uncapped for me too.

bloodem wrote on 2021-01-22, 21:15:

Unfortunately, the game does not start for me with dgVoodoo, the process hangs and I have to forcefully close it.

I forgot, sorry. Please use the following to fix that. (backup the original files before applying it, if you want to)

https://community.pcgamingwiki.com/files/file … tup-hang-patch/

dgVoodoo should now run it under D3D9 or D3D11. How's the fps?

Reply 5 of 6, by UCyborg

User metadata
Rank Member
Rank
Member

Max Payne enables VSync for itself, it doesn't have an option to disable it. Windows 10 comes with crippled D3D8, which runs D3D8 games in windowed mode, so it doesn't matter what the game does, it'll always behave as if VSync is disabled. There's a hacked d3d8.dll from an older Windows 10 build somewhere on this forum which fixes the problem, assuming it's still compatible with today's Windows 10.

What you're seeing with dgVoodoo is actually correct and as intended. dgVoodoo has an option to force VSync on, but not off if remember correctly. It should be overrideable on the driver level though, are you doing it on the profile for MaxPayne.exe specifically?

That startup patch is needed because the game craps out with numerous graphics drivers, because DllMain (optional entry point for DLLs) is the root of all evil and May Payne developers put D3D startup code in there. Then MS went and wanted to prevent confusion and things breaking at random and made D3D11 in a way that it never works if the application/game tries to init D3D from DllMain.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 6 of 6, by eddman

User metadata
Rank Newbie
Rank
Newbie
UCyborg wrote on 2021-01-22, 23:41:

Max Payne enables VSync for itself, it doesn't have an option to disable it. Windows 10 comes with crippled D3D8, which runs D3D8 games in windowed mode, so it doesn't matter what the game does, it'll always behave as if VSync is disabled. There's a hacked d3d8.dll from an older Windows 10 build somewhere on this forum which fixes the problem, assuming it's still compatible with today's Windows 10.

What you're seeing with dgVoodoo is actually correct and as intended.

Thank you. Since, as you mentioned, D3D8 was running uncapped, I didn't think vsync could actually be enabled by default.

UCyborg wrote on 2021-01-22, 23:41:

dgVoodoo has an option to force VSync on, but not off if remember correctly. It should be overrideable on the driver level though, are you doing it on the profile for MaxPayne.exe specifically?

Since I didn't think it was the game's own vsync, it never crossed my mind to force it to off in the driver. It was on "application controlled".

I just did and now the FPS is uncapped. Many thanks.

UCyborg wrote on 2021-01-22, 23:41:

That startup patch is needed because the game craps out with numerous graphics drivers, because DllMain (optional entry point for DLLs) is the root of all evil and May Payne developers put D3D startup code in there. Then MS went and wanted to prevent confusion and things breaking at random and made D3D11 in a way that it never works if the application/game tries to init D3D from DllMain.

Yea, I'd say both MS and developers were at fault to certain extent. MS for not doing its best to properly standardize their APIs in an intuitive manner, and the devs for resorting to weird methods sometimes.