protonscr

Getting almost half the FPS in mass effect menu

dxvkopen performanced3d9
doitsujin/dxvk#5736 · opened 2026-06-27 by mirh · updated 2026-06-28 · 5 comments · github
Mmirh 2026-06-27 github

So, as hinted I'm here. The last nudge for thinking something has to be wrong, is remembering that the somewhat superior d3d9 performance I'm getting in W10 is itself already gimped compared to the earlier golden standard.

OS FPS
Dxvk 150 (splash) & 260 (menu)
D3d9 (W10) 190 (splash) & 350 (menu)
D3d9 (W7) 210 (splash) & 400 (menu)

As I had already hinted, caring about the menu (I mean there's also the splash screen but still) seems a bit stupid until your remember that AFAIU the 2D UI actually still has a hidden 3D scene rendered behind.

Software information

Mass effect 1, at high settings in 5K resolution. Only mod is Quick Startup to avoid intro videos.

System information

  • GPU: 2080 super
  • Driver: 473.81 (W7) and 610.47 (W10)
  • DXVK version: 3.0

Apitrace file(s)

https://mega.nz/file/xQ51FboB#WJgYLe8HQ5Lv61PTuj4r_RKaRn8sN2g5_gU09qlG_V8

Log files

MassEffect_d3d9.log

DDigger1955 2026-06-27 github

@mirh

Can you provide DXVK 2.7.1 results?

Mmirh 2026-06-27 github

2.7.1 was the same here.

Ddoitsujin maintainer 2026-06-27 github

Not seeing anything that sticks out. Just a bunch of fullscreen passes, a simple 3D model for the earth, and that's it.

One thing to try would be the d3d9.cachedWriteOnlyBuffers=True option since the game puts some UI-related vertex buffers into HVV, but that also only does anything if you're CPU-bound, it will negatively affect GPU-bound perf, and we can't really be overly clever about streaming stuff from cached memory into VRAM because D3D9 is a fundamentally broken API and games rely on all sorts of out-of-spec stuff that only works if we implement it exactly the way we do.

There's a ton of things Nvidia can do in hardware that we have to emulate with shader code and extra descriptors, so we'll never be able to fully match native D3D9 on those GPUs, but there's really just nothing that's particularly inefficient here.

Mmirh 2026-06-28 github

Tbf the most salient part with the biggest hit should be actually the latter with the menu (AFAICT the one with about 7000 constant draw calls).

And then I couldn't really spot any performance difference with any of the dxvk.conf options (except dxvk.allowFse which gave me a little 10% boost, twice as much as DXGI presentation).

Ddoitsujin maintainer 2026-06-28 github

Well I don't really see anything actionable here.

Upstream links