acomminos / wine-pba

Patches to add a persistent buffer allocator for faster dynamic geometry in Direct3D games.
GNU Lesser General Public License v2.1
137 stars 6 forks source link

Overwatch test #13

Open JorgeMoya41 opened 6 years ago

JorgeMoya41 commented 6 years ago

I was testing the Overwatch in a GTX 950 with the latest version of the patch and wine 2.21 staging. The load times have improved significantly. The game has not suffered any regression but I have not noticed a difference in the framerate although there is more stability (the framerate drops are not as sharp as before).

IngeniousDox commented 6 years ago

When I start Overwatch, it is "black screen for a while", then I'm missing graphics. I cannot see characters, and fps is lower for me. I'm also missing the "yes" button when I want to quit. The square blocks above Tutorial / Practice range are missing. I can log into Practice range, but I still don't see characters. And FPS is way lower then with normal staging.

Using NVidia 390.25 driver fps is actually already good with normal staging.

JorgeMoya41 commented 6 years ago

I do not know what may be happening I also use nvidia 390.25 drivers D:

Narthorn commented 6 years ago

Similar issues as @IngeniousDox, but on amdgpu drivers. Characters and most UI elements are missing, graphic effects which should appear on these UI elements show up in the center of the screen instead of where the element would be if it was visible.

Wine: 3.3-staging-pba (https://github.com/wine-staging/wine-staging/commit/28c580ffb47f23f9c964f081c3fdcc33b63760b8 with https://github.com/acomminos/wine-pba/commit/7ebfd60565c13ac7fe9df4bb988e76c42409baea) Mesa: 17.3.6 Kernel: 4.16-rc3 GPU: AMD Vega 64

Here's a few comparison screenshots:

Main menu: 3.3-staging / 3.3-staging-pba Training menu: 3.3-staging / 3.3-staging-pba Practice range: 3.3-staging / 3.3-staging-pba

acomminos commented 6 years ago

Thanks. I've found the source of the issues here (needed to add support for shader resource views backed by a persistent buffer).

Some minor architectural changes will be required to ensure that textures' backing buffer can be changed dynamically during a discard.

acomminos commented 6 years ago

b33e274 is the start of these changes. Can you let me know how this works for you?

Narthorn commented 6 years ago

It looks to be working fine now! Thanks for the patch.

cirk2 commented 6 years ago

With that commit overwatch works fine for me on amd rx480 mesa-git.

IngeniousDox commented 6 years ago

Ok, time to test this stuff. I suggest we use this method to compare:

Results:

Staging 2.21: 120 fps
Staging 3.3: 40 fps
Staging 3.3+PBA: 40 fps.

Something else is going on here. I'm going to guess it isn't PBA related.

EDIT: I have 100% gpu usage with 40 fps.

acomminos commented 6 years ago

I've disabled the hacky implementation of persistent shader resource buffers in 3d8fe71. This may improve the performance of Overwatch, which (in my testing) actually performed worse with them.

IngeniousDox commented 6 years ago

commit: https://github.com/acomminos/wine-pba/commit/4b64220635c9eb0aeee34c451421085d1a71bb6b Now on 27 fps.

Honostly, Overwatch and 3.3 just don't mix and match. Once we get a version of WIne 3+ that has the same fps as Staging 2.21, thats when testing with wine-pba could become interesting. Till that time, I suggest not to look too long (or at all) at Overwatch.

BloodyIron commented 6 years ago

I hate to steal the thunder of PBA here, but I've had great success with DXVK + Overwatch. You can find a bunch of my steps in the /r/wine_gaming subreddit.

Based on the results I've seen posted here, I think you may find DXVK to be a step up.

Goldpaw commented 6 years ago

I think every DXVK vs PBA comparison is a bit off the mark. Because DXVK is a Direct3D11 to Vulkan translation layer, while PBA affects the D3D to OpenGL translation, affecting D3D9, D3D10 and D3D11. Wine-pba was developed to fix issues that DXVK will never touch as DXVK only focuses on new titles making use of pure D3D11 and up.

For games like World of Warcraft for which wine-pba was originally developed, DXVK doesn't even work as it doesn't support the D3D9 and D3D10 calls WoW uses, just D3D11. So the only valid comparisons as between wine-pba, and D3D on windows.

Goldpaw commented 6 years ago

And just for the record, it's possible to install wine-staging with pba, and dxvk at the same time, and only add dxvk to the prefixes used for pure DX11 games. It's not a vs thing. They work side by side for different titles. ;)

IngeniousDox commented 6 years ago

Actually DXVK is a moving target.

Right now Overwatch crashes on DXVK. Though that will get fixed. And what runs faster depends on your CPU/GPU/Kernel/Driver combo. For me Wine-PBA still runs Overwatch better then DXVK, since I have enough CPU to feed the GPU OpenGL that actually still seems to run faster. This could change with newer nvidia drivers and DXVK optimizations. On top of that, DXVK is missing Stream Output, so it is still missing repeated firing animations.

Now, World of Warcraft works with DXVK. It just needed fake DX10 advertised as available. I haven't played much more then logging in and running around Dala, but others have said it works for raiding already. (NOTE: set DXVK_FAKE_DX10_SUPPORT=1 as the DXVK readme says)

Goldpaw commented 6 years ago

@IngeniousDox is that new? Last I checked it out it was just a wall of "never gonna happen" when DX10 support was requested! Definitely going to try this one. :)

IngeniousDox commented 6 years ago

Its 4 days old. And it isn't actually DX10 support. It is just advertised as supported, so should a game actually try to do DX10 stuff, you will get into trouble. We will have to test WoW in every expansion to see if we run into errors anywhere.

There is a DXUP project to translate DX10 stuff into DX11 for DXVK by Joshua Ashton that might solve this DX10 problem in the future.

I'm going to test it tonight I think.

Anyways, this is PBA github, lets stop talking about DXVK. Reddit has enough DXVK threads, and there is a DXVK discord (and github).

BloodyIron commented 6 years ago

@IngeniousDox uhh, I have Overwatch running like a champ with DXVK.

@goldpaw sorry, I was not trying to start a DXVK vs PBA thing here. I just wanted to say a blurb and stop. I am not interested in getting in the way here, or starting arguments. I know this area is about PBX, and not DXVK.

SveSop commented 6 years ago

Getting somewhat back on topic (although i cant help myself chiming in and say for my crappy old puter, dxvk seems smoother when there are loads of entities around - ie. might have more cpu power to spare when in mass-effects-40+ raids in wow) i would like to see more development of PBA.

From the source there are some comments indicating pba could be tweaked a bit, and we have already seen those buffer patches from @Firerat . Will there be more? A "dead" project, will be beat by a "living" project even tho it works :)