HansKristian-Work / vkd3d-proton

Fork of VKD3D. Development branches for Proton's Direct3D 12 implementation.
GNU Lesser General Public License v2.1
1.92k stars 200 forks source link

Pascal and VKD3D #2208

Open Tiagoquix opened 1 day ago

Tiagoquix commented 1 day ago

It's no secret that NVIDIA Pascal cards don't perform very well with VKD3D. While they perform somewhat OK on DX12 on Windows, the same can't be said about VKD3D.

I personally own one and can attest that games tend to crash every so often due to (apparently) VRAM management not being so good, resulting in the graphics card making the game crash.

With this I mind, I was thinking: Would it be feasible to somehow "redirect"/fall back DX12 to DX11 whenever possible in the scope of both DXVK and VKD3D? Or, at least, give a warning about performance issues in an user-friendly way such as an auto-generated log when a Pascal card is detected?

Currently, users with Pascal cards facing problems with DX12 that don't know the specifics of Proton and all of its components (dxvk, wine, vkd3d etc.) may assume their PC isn't capable of running a specific game, when, in reality, the problem is the graphics card not handling DX12 very well.

Thanks for your attention.

K0bin commented 1 day ago

Would it be feasible to somehow "redirect"/fall back DX12 to DX11 whenever possible in the scope of both DXVK and VKD3D?

No, that's not possible. The only thing you could do is report that the system does not support D3D12 and pray that this makes the game fall back to D3D11 but that is obviously a terrible workaround that just breaks games.

Tiagoquix commented 1 day ago

I was thinking of an on-screen warning, but that may be too intrusive, similar to the same reason DXVK rejected to put an on-screen warning for compiling shaders.

The most user-friendly way I can think of is the log file to be generated next to the game executable.