HansKristian-Work / vkd3d-proton

Fork of VKD3D. Development branches for Proton's Direct3D 12 implementation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

extreme Low FPS Elden Ring

Phazdelta opened this issue · comments

Hi, when i use VK3D with DXVK 1.10 i have extreme low FPS 20fps with 6900XT+3600X windows 11 64x
Sans titre

Low performance with vkd3d-proton on windows AMD vulkan drivers - and also AMDVLK on Linux - is expected and there is nothing that can be done for now. For good performance with vkd3d-proton on AMD, using the RADV vulkan driver on linux is pretty much required.

FPS on Windows with Nvidia drivers is also exceptionally low for Elden Ring (511.79)

Performance with VKD3D-Proton on Nvidia is fine on Linux.

commented

I am getting like 8 fps with vega 56 on windows while without any modifications i am getting 51 fps, why is this happening? I use latest dxgi.dll of DXVK and d3d12.dll of vkd3d-proton. I feel like we amd users always get screwed. Why the nvidia driver is fine but amd one is not? Who should i go to and complain about this so they can fix it? This is ridiculous, we are not some small group of 5 people or anything

I used DXVK (dxgi + d3d11) in AC Origins and my performance benchmark went from about 4600 score to 8700, nearly doubling, same for in-game fps, went from 35 to solid 60 (65-70 if uncapped). So clearly amd vulkan drivers are working just fine and are not the problem, cuz they work perfectly with DXVK for dx11 to vulkan transition, it's vkd3d-proton that can't work properly with the drivers, i am feeling very frustrated right now cuz it's not just this it's always like that amd gpus are not as popular as nvidia so we amd users are always left in the dust and forgotten we don't matter

Why the nvidia driver is fine but amd one is not?

Because descriptor updates aren't fast enough in the AMD Windows driver to run VKD3D-Proton.

You have two options:

  • Just run the game on AMDs Direct3D 12 driver, which is pretty good.
  • Use VKD3D-Proton on Linux with RADV.

It's unlikely that VKD3D-Proton outperforms the regular D3D12 driver anyway, even on Nvidia.

commented

Yeah i am using the direct3d 12 default in elden ring (what else can i do), however, it has the same symptoms as before i applied DXVK to AC origins - cpu at 40-60% usage, gpu at 70-80% usage, yet fps at 45-50. After i applied DXVK to AC Origins, my gpu started being properly used, and the only time i ever fell below 60 fps was when my gpu was maxed out (showing as 99% in amd's overlay Ctrl+Shift+O) which is how it should be, not having gpu and cpu unmaxed and yet still below 60 fps, it just feels like only Vulkan can properly make usage of the gpu and cpu, that's my theory anyway based on my limited experience.

But, who or where should i go to to complain to improve the speed of these "descriptor updates" ? If it's not vkd3d-proton's fault, then it must be someone else's fault, but i need to know who so i can pester them until they fix or improve it (cuz that's the only way it works)

@g-k-m
DXVK made some games faster, because it was wrapping a high-level API (DX9-11) and could be a bit smarter than AMD's original DX9-11 drivers when it came to pushing work to the GPU or applying certain optimizations.

DX12 is a low-level API, where the opportunities for optimizing via the driver (and translation layer) are limited. If the game devs didn't write well-performing code, there is nothing that can be done about it.
Best case scenario: VKD3D works as good as DX12, provided your CPU can fully compensate for the translation overhead and you are using a supported setup (i.e. on Linux w/ the right drivers)…

Now to the root of your issue: You're CPU limited, even on Windows with native DX12!
It's a mixture of scheduling threads across CCX boundaries (your CPU is 2x3 cores) coming with a penalty and one or more cores being at or close to 100% utilization. I had the same scenario with a 3900X w/ Vega56.
This cannot be fixed via complaining to anyone, regardless of whom it is…