Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[d3d9] Much lower performance in Halo PC when run purely with DXVK compared to running dgVoodoo2+DXVK on the same system #1675

Open
Aerocatia opened this issue Jun 26, 2020 · 20 comments

Comments

@Aerocatia
Copy link

Aerocatia commented Jun 26, 2020

Halo PC (2003) runs about ~50% slower on DXVK alone compared with using the d3d9 wrapper dgVoodoo2 to translate the game to d3d11, and then DXVK to translate that d3d11 to Vulkan. (also applies to the demo)

There must be a major bottleneck in the d3d9 code as using two wrappers and going through another API should not be faster than only one translation.

Software information

Halo PC, max settings with unlocked framerate.
Chimera mod to fix a whole bunch of game issues, this has no effect on the performance difference.

System information

  • GPU: AMD RX 580
  • Driver:Mesa/radv 20.1.2
  • Wine version: wine-staging 5.11
  • DXVK version: v1.7-2e37825

Log files

-- no log as there is nothing to log --

@Aerocatia Aerocatia changed the title Halo PC: Much lower performance when run purely with DXVK compared to running dgVoodoo2+DXVK on the same system [d3d9] Much lower performance in Halo PC when run purely with DXVK compared to running dgVoodoo2+DXVK on the same system Jun 26, 2020
@Aerocatia
Copy link
Author

Still applies to c4f37d3

@doitsujin
Copy link
Owner

doitsujin commented Jun 26, 2020

Are you CPU-bound or GPU-bound? What settings? Apitrace?

-- no log as there is nothing to log --

wtf?

@misyltoad
Copy link
Collaborator

Please provide an apitrace.

@Aerocatia
Copy link
Author

Aerocatia commented Jun 26, 2020

This game has issues with apitrace. It can only be traced if you use the fall back fixed function video mode, one that hides this issue somewhat. This video mode is also completely broken.

I know that's extremely unhelpful but the only reliable way to reproduce this game is to run the demo version.

@Aerocatia
Copy link
Author

This is still an issue.
According to the DXVK HUD, pure DXVK does not max out the GPU.

Pure DXVK:
image
DXVK with dgVoodoo2 d3d9>d3d11 translation stacked on top:
image

@K0bin
Copy link
Collaborator

K0bin commented Dec 3, 2020

Please provide an apitrace so someone actually has the ability to look into this.

@Aerocatia
Copy link
Author

Aerocatia commented Dec 3, 2020

Unfortunately apitrace does not work properly with this game.

@Aerocatia
Copy link
Author

Here is a working trace. This was made on Windows with an nvidia GPU however. Hopefully this helps.
http://vaporeon.io/hosted/halo/misc/halo_trace.7z

@misyltoad
Copy link
Collaborator

Game doesn't even work with dgvoodoo here:

image

I also can't repro any performance issues. I get like 1000+ fps everywhere in this game.

@misyltoad
Copy link
Collaborator

Out of curiosity, can you tell me how this one performs on your end?

d3d9.zip

@Aerocatia
Copy link
Author

This build seems to perform worse than the 1.7.3 release.

image

As for dgvoodoo, my Halo install is using the 1.10 update with the chimera mod, I have not tried it in any other configuration.

@misyltoad
Copy link
Collaborator

I'll try with that mod.

@Aerocatia
Copy link
Author

Aerocatia commented Dec 5, 2020

This dgVoodoo.conf is also known to work.

EDIT: you also need d3dx9_43 either way.

@Blisto91
Copy link
Contributor

Blisto91 commented Aug 6, 2022

@Vaporeon Friendly ping. Could i get you to retest this with latest dxvk? 🙂

@Blisto91
Copy link
Contributor

Not sure why I've pinged Vaporeon here 🤔

@Aerocatia Are you able to retest this?

@Aerocatia
Copy link
Author

Yeah I did a cheeky username switcharoo.
I will retest this very soon, I have the correct Linux setup again to do this.

@Aerocatia
Copy link
Author

I have retested this on the exact same hardware however using whatever the current Mesa on Arch is and the latest release of DXVK.

Performance is the same, wine3d is performing much faster than DXVK on this setup.
I can't get dgVoodoo to work on WINE anymore, but retesting both on Windows shows dgVoodoo is running much faster.

DXVK d3d9 seems to be held up by something.

@Blisto91
Copy link
Contributor

Blisto91 commented Feb 1, 2023

Dang. Well thank you very much for the retest 👍

@K0bin
Copy link
Collaborator

K0bin commented May 23, 2023

I tried the game and performance matches what I get on Windows. Both run at 800-1200 fps at 4k max settings.

@Aerocatia
Copy link
Author

So I have noticed a game setting directly related to this issue.
It is related to the setting DisableBuffering (described as "Forces a video card to render each scene - used to prevent mouse lag")

This setting is more of less free on native d3d9 drivers, however it completely murders performance on DXVK, especially on AMD.
I forgot I had this setting on when making the original report.

This may possibly be related to #3906

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants