UE4 games on DXVK and Wine/Proton with AVX vs AVX2... Performance difference?

Unfortunately, this is not supported on UE4’s DX11, and the closest thing most devs will go for is DX12 and not Vulkan. And in that case, it’s only to enable ray tracing.

DX11 games will forever remain single threaded for the render thread.

If this was the case, UE4 should have never allowed DX11 and should have gone directly for Vulkan… but knowing Epic, they would have loved to go for DX12 exclusive because they will take any opportunity to take a exclusivity deal.

What could work is if someway of integrating pthreads can be patched into UE4 for the render thread to do away with DX11 render thread overloads on that singular thread… Since no dev is going to be forward thinking to do this when cooking the retail build, people have to patch a pre-cooked build to add pthreads.

If it’s impossible, then it is officially declared that multi-threading the render thread on DX11 with UE4 is officially impossible.

Oh… So UDK has no ability to add multi threading in DX11, but you know what does?

Epic reserved Multithreaded rendering in DX11 to FORTNUT. And says “If you want multithreaded rendering, use DX12, cause it means less work for us.” for UDK users as a huge middle finger for people using default blueprints and configs…

Vulkan is limited to mobile and Native Linux outputs/cooking and their attitude means that will not change. They’ll direct people to DX12 instead of Vulkan because Vulkan on Windows is like moving to Canada. Vulkan is the native default for Linux cooked outputs, but developers that only release for Windows have no choice but DX11 or DX12… and Epic recommends DX12 for multithreaded rendering.

In fact, here’s the Trello card for Vulkan, and they’ve only delivered the Linux half, with Windows encumbered by DX12 being more preferred: https://trello.com/c/lzLwtb5P/124-vulkan-for-pc-and-linux

Unity, with native Metal and Vulkan rendering seems like the best option, with Godot saying they will never support Metal because MoltenVK is good enough.

This is a goddamn mess.

Unfortunately not many developers have embraced Vulkan/Metal with Unity3D engine atm. I would like to see some decent games move to it so we can get some idea of how good it actually runs with games but until then we can only speculate based on testing done and release notes by Unity3d team.

If you know of Unity3d games that have fully working vulkan with the newer 2019 builds then please let us know, but I don’t know of any :frowning:

Refresh2025 is a small project that properly uses the Vulkan renderer in Unity.

Not being able to use my second monitor when using gsync or freesync is the major deal breaker for me, until that is fixed I probably won’t bother with VRR. (under LInux, it works amazingly under Windows)

Hey @YoRHa2B, I’m beginning to wonder if DXVK is memory topology aware, since the difference between the two systems is the 3600X is dual channel DDR4 3200Mhz at CL14 and the 4960X is quad channel DDR3-1866 at CL10. (Not OCing the memory on the 4960X because I need stability)

Is it possible that DXVK is good for dual channel DDR4 but bad for quad channel DDR3? Would that be a Wine issue or DXVK issue? Like the Looking Glass memcpy issue, could there be a similar issue in DXVK for this?

Revisiting this in Breathedge with DXVK 1.4.5, with the 3600X having PBO on:

4960X: 28fps

3600X with PBO: 62fps

The Ryzen optimizations pushed it even further ahead of the 4960X. This is literally the difference between unplayable performance and fully playable performance.

Hardware Unboxed’s graphs with The Outer Worlds (UE4 DX11) serve to prove that even a 9900K overclocked will bottleneck because of the single threaded rendering nature of UE4 DX11:

While Fortnut and Borderlands 3 both have DX12 and Multithreaded rendering.

Thought I’d bring this up again with DXVK 1.5:

4960X: 31fps

3600X with PBO (new cooler) and DDR4-3600Mhz CL14 B-die OC: 73fps

The performance delta is even greater now in this game. Definitely getting a 10920X now.

Seems one Unity game is suffering severe performance issues on DXVK vs Windows: Boneworks.

https://www.protondb.com/app/823500

Note that in one of the reports, the solution was to do GPU Passthrough. So you need to spin a Windows VM bypassing DXVK entirely to fix the issue.

Another update with latest 440.66.15 Vulkan drivers on the 3600X, no other changes:

Breathedge: 60fps minimum on DXVK 1.7

The other weird thing is It is reported that Ivy Bridge-E is severely CPU bottlenecked with Detroit: Become Human, only hitting 25fps. Maybe the same thing that’s bottlenecking Detroit is also bottlenecking DXVK.

Huh, Flower has the same AVX IPC issue on my 4960X. Dropping to 31fps when the CPU needs intense computation. Got the game for free when I bought Journey on Steam, but I’m definitely gonna be playing that on my 3600X now because this game is bottlenecked by my CPU.

I know I keep bumping this thread, but it looks like Bioshock Infinite GOG complete edition over DXVK has the same single rendering thread problem, and it’s UE3, not UE4.

Even a 3600X with 502 Cinebench R20 single core with PBO enabled bottlenecks this game over DXVK.

This is going to be a continuing problem with Unreal Engine games over DXVK and the only solution is basically to VFIO and use Windows. The indirect calls method Unreal uses just is super inefficient with DXVK.

Rant incoming.

A lot of people I’ve talked to have hinted this as a “It’s only you” problem since nobody else here owns a 4960X and tests DXVK with Unreal Engine games with it.

The reason people aren’t speaking up about it is because the 4960X is an ancient dinosaur and that skews and goes against the general impressions with modern proper AVX IPC processors.

It’s a real shame the Steam Hardware Survey DOESN’T list specific processors in terms of popularity, because this would be useful in showing how popular a specific CPU has declined, like the GPU surveys.

I absolutely hate that I’m part of the Early Adopters of AVX because of my system choice and that this problem has basically been narrowed down to poor AVX IPC. I put down my deposit for my 10920X because I literally felt trapped by this problem not able to be fixed on the software side, and no one has older machines to figure out a way around it… so I have to platform upgrade.

But the sheer fact the 3600X bottlenecks Bioshock Infinite in DXVK and UE3, with a modern AVX2 processor is what makes it that much more frustrating, and it’s ONLY UNREAL GAMES. I have to question how people are calculating a smooth experience or if they’ve even heard of frame times when they make random comments like “must just be you.”

(ノ°Д°)ノ︵ ┻━┻

2 Likes

wait, are you saying your 3600X performs worse for bioshock than your 4960X?

No, the 4960X will halve the performance of the 3600X, and the 3600X has 1% lows of 43-45fps.

whew, I was worried that the newer chip was also causing issues.
1% lows of 40fps still beat the snot out of consoles, are the other averages bad, or is it all good?

Since Epic Games only goes where the money is, I’m not entirely shocked to hear that. It is frustrating but that’s Epic Games in a nutshell.

Rendering volumetric clouds tanks the framerate over DXVK. I’m now hearing the native port does way better, but I can’t tell because GOG only provides the Windows version (thanks CD Projekt)