dxvk
dxvk copied to clipboard
MechWarrior 5: Mercenaries and performance issues
Hello doitsujin/Philip, I know things are tough right now and the last thing you want is another issue posted, but I would like to at least make it aware to users of DXVK how this game performs atm.
At present I have been using Proton-GE-4.21 within Lutris to test (mf needed for vids) and I've encountered a few semi-major issues at 1440p-2160p resolutions such as significant performance problems in specific areas.
-
The dotty film grain effect is not a error of dxvk but that of the game (very obvious in the opening space flight scene). So we can ignore that.
-
the performance in Instant action can vary from excellent to terrible depending on which map you pick (from my testing anyway).
-
the intro campaign sequence struggles to reach 30fps at resolutions above 1080p, and will tank to 1fps once you finish the training scene and get back to the ship (where the game actually starts).
I was unable to obtain a apitrace for some reason, the game stalled each attempt (under windows).
dxvk d3d11 / dxgi related log files: MechWarrior-Win64-Shipping_d3d11.log MechWarrior-Win64-Shipping_dxgi.log
Note using dxgi.nvapiHack does appear to clean up some scenes and maybe help performance a tad in instance action (campaign still dogs).
Basic system specs: (I'll update this later) Distro: Pop!_OS 19.10 (Plasma 5 desktop used) Kernel: 5.4.2-00-generic RAM: 32 GB GPU Driver: NVIDIA 440.31.0 GPU: NVIDIA GeForce GTX 1080 Ti CPU: AMD Ryzen 5 3600 6-Core
To anyone, If you find some solutions to the performance issues do tell. Also let me know how things went with your testing.
Is this CPU-bound or GPU-bound? You can check by enabling DXVK_HUD=fps,gpuload
.
If CPU-bound, please check the wine logs. Low performance in Unreal Engine 4 on Nvidia usually comes from the fact that the engine repeatedly tries to load and initialize nvapi, but fails to do so. Given that this is an UE4 game, there's basically no way this is due to DXVK's overhead.
If GPU-bound, I'd really need some sort of apitrace (what do you mean by "stall"? apitrace is known to be exceptionally slow and loading screens where lots of data is transferred can take minutes) and would probably end up blaming the driver anyway, unless it's doing something exceptionally stupid that needs to be worked around.
I ran the game with nvapi hack in later attempts, it solved a few minor things but overall the game still had performance issues, and campaign was quite bad (intro + ship walk around scene).
I will check to see if it was CPU or GPU bound, I forgot to note those down when I had dxvk hud on full.
what do you mean by "stall"?
It either crashes or freezes on the loading screen. I'll keep trying to get a apitrace, maybe graphic settings are too high for it to process properly.
UPDATE: After trying several attempts to apitrace MechWarrior-Win64-Shipping.exe, even at 1080p, I was unsuccessful. MW5 will sometimes make it to the main menu and you can then load into the game but it will quickly stall on loading and if you let it continue it just falls over back to desktop. There is a apitrace file but since it doesn't actually contain gameplay then its sort of useless.
Hopefully someone else will come along and have better success running apitrace then I did.
I have a different setup:
Distro: Ubuntu Budgie 18.04 Kernel: 5.5.0rc1 RAM: 16 GB GPU Driver: MESA-ACO 20.0.0-devel, DXVK 1.5 GPU: AMD Radeon Vega 64 CPU: AMD Ryzen 9 3900X 12-Core
The game works amazing for me, around 80 - 100 fps on 1080p all maxed out. With that it runs 10 - 30 fps faster on Vulkan than on DX11 in Windows, according to the first tests for my GPU that I read. Yet I can only play instant action, if I try the campaign the screen stays black, prolly to a video not loading. Played the game on Proton-GE1-4.21-MCC2 patch and tried installing mf-install but it did not work. Yet according to that your bug seems to be nvidia related, no matter what instant action terrain I have choosen, it runs like a charm.
Yes Instant action works fine, the campaign is where the issues present themselves. Also from what I can tell 1080P will work mostly fine, its just when you goto 1440p and above things get real ugly fast.
Also I dunno why MF-install didn't work for you, chances are you got the prefix folder wrong or something. The prefix folder should have c drive directory under the main folder, if that doesn't exist then its not the prefix folder.
Ah I see, ok. Well mf didnt work ever for me with the UE4 engine. It is installed in the right pfx, I can see it in winecfg. In The Outer Worlds I had to skip the intro and midgame movie by manipulating the save files and in Borderlands 3 the game got stuck because of a video on a screen in game not playing in the Tutorial. Even Windows people had this issue in Borderlands and needed to install a patch. So its no wonder for me it is not working again.
In MW5 I have found a directory containing lots of mp4 movies, even short movies like HUD elements. Maybe if the game tries and fails to load them on startup that is where my problem is. After clicking on new campaign my screen is dark and I have the small social symbol in the upper left corner. The GPU and SSD keep on working and DXVK is still reporting fps and gpuload changes. But nothing happens anymore after that.
I highly suspect your issues are related to the mini videos as well, since instant action is working flawlessly. I lack the time at the moment to dig deeper into it but I am gonna ask around on reddit, maybe someone plays MW5 aswell. If not I will refund for the time being. :/
the mini videos have nothing to do with the campaign, they play before hand and then its all ingame engine.
You can skip these videos even if you don't have mf installed, its not intuitive but the blank screens can be skipped with esc or clicking mouse several times.
PS. Maybe the MF media thing has issues on vega64, its worked in all cases I've tried it except for initially when I was using a early build of the install script that somehow wasn't working.
What I would suggest is to manually install the MF dll files into the correct folders of your prefix, see if that works.
I created a reddit strain here: https://www.reddit.com/r/wine_gaming/comments/ebvbyh/mechwarrior_5_mercenaries/
A guy wrote he had the blackscreen issue on Windows and needed to install a media foundation addon for the game to work. I dug a bit into the UE4 editor and it seems to work the way that it incorporates small videos into the graphics scene to have rotating HUD elements and whatsoever. So my problem will definitly not be fixed by skipping just the intro video. Your problem may be a result from the media foundation dlls not working as supposed to on Linux. The same guy on reddit referenced a solution to installing the missing dlls on Ubuntu, but this solution is basically the script by mf-install. I am pretty sure tho your issue is not dxvk related, but rather UE4 engine and its portation to Linux related.
The fps on AMD are tanking, the game is perfectly playable on an instant match but the engine itself does pose a challenge.
I've made a video of my experience so far, blackscreen ist at the end: https://www.youtube.com/watch?v=mugJsqFZZo0
Ok, well no black screen issue for me, and under windows the campaign and videos are very grainy also so certainly a game issue. I'm not too concerned now anyway since apparently the game has major issues and is lacking in MANY areas so its best to wait until all DLC comes out and lots of patches and mods arise.
for fix ingame movies in outer worlds/mw5 just use another build mf https://github.com/z0z0z/mf-install (not cab version)
but for me perfomance are bad too Manjaro testing/ kernel 5.4.3/ mesa 19.3.0 ACO / ryzen 1600 + 16gb ram + RX 560 / Proton 4.21-ge-MCC-2 + dxvk 1.5 i have 25-40 fps on 1080-1440p low settings and 50-90% cpu and ram load through wine (i didn`t seen gpu load) and some graphical glitches like grids on screens and mirror surfaces
seems like you have good perfomance because you have powerful cpu/gpu than ours or newer kernel/mesa build
UPD: After reboot system, perfomance good now(30+fps on med/high settings). I have only some glitches with reflections on glass. Game very critical for hdd perfomance.
On the performance issue, here is my experience: (Arch Linux, Kernel 5.4.5, Lutris 4.20, DXVK 1.5, Ryzen 5 2600, 16GB, GTX 970)
Performance is incredibly bad (10FPS or less) upon loading a new scene (i.e. load save game, mission start, or return to ship) If I go to the Graphics menu and change the Resolution scale to any random value and click apply, performance is suddenly fixed. 50->60 FPS in most places (Low settings, 1080p). If I change the Resolution scale back to 100%, the performance is still good! Even if scaling is set to as low as possible, performance is still terrible on a scene load.
Perhaps there is something amiss when it creates that Render-to-texture effect for the scaling, but only when loading a new scene.
for fix ingame movies in outer worlds/mw5 just use another build mf https://github.com/z0z0z/mf-install (not cab version)
but for me perfomance are bad too Manjaro testing/ kernel 5.4.3/ mesa 19.3.0 ACO / ryzen 1600 + 16gb ram + RX 560 / Proton 4.21-ge-MCC-2 + dxvk 1.5 i have 25-40 fps on 1080-1440p low settings and 50-90% cpu and ram load through wine (i didn`t seen gpu load) and some graphical glitches like grids on screens and mirror surfaces
seems like you have good perfomance because you have powerful cpu/gpu than ours or newer kernel/mesa build
UPD: After reboot system, perfomance good now(30+fps on med/high settings). I have only some glitches with reflections on glass. Game very critical for hdd perfomance.
Good to know you got it working on mesa, I still only have a blackscreen and am not able to start a new campaign. I will try downgrading mesa, since I am running on 20-devel
The blackscreen issue is solved ! https://www.youtube.com/watch?v=q01ON5NDOts
It wasnt the GPU but the CPU. The mf-install workaround doesn't play well with SMT, as it seems. Disabling half of my cores solved it. :)
Interesting, maybe not a problem on the 3600 because I don't think I've disabled SMT
Same at 1600 - SMT enabled and no black-screen problem. I think it closest for kernel issues
@jarrard @IDeathByte the blackscreen problem seems to occur, if you run a cpu with more than 16 threads. This mf cant handle, this is my latest info on it. So its not SMT related.
I found graphical glitches as well, namely directly in the mess hall where you take your missions. I tried an apitrace but that failed, so I tried a renderdoc which succeeded but I am not able to open the file; says its corrupted.
Seems like particles and rays of light do bug. In the mess hall, you have particle and light effects from ongoing welding on the Mechs, what does result in white rays all over the place, as well as the holographic globe on the mission table. I attached a picture.
I am running on mesa 20-devel, kernel 5.5rc3 so can be that too (haven't had the time to check yet).
P.S.: missions tho do run completly fine. So its only that in-between-missions mess hall moment thing.
Oh my... Can approve: I seen this bug one time on winter mission with sun rays, but not so strong like this.
Well as always, I can't really do much without a way to reproduce it.
It is gone when I use the amdgpu-pro 18.50 driver. I had a similar error with Ray of lights on the game Detroit: Becoming human and it got fixed by the amdgpu-pro as well. Sadly this driver is closed source, so it's hard to figure what's going on.
I think Detroit got sort of fixed in ACO recently; can you test again with an updated mesa?
I saw a lot of comments from Windows users about the bad performance of this game.
I think most people are waiting for this to come to Steam, or GOG (unlikely). EGS does work just fine under Linux however.
The game has also some major underlying issues so it didn't turn out to be a smash hit as we were all hoping for. Maybe further patching and DLC will fix those underlying issues.
Once the title appears on Steam I'll revisit testing to see if much has improved. (for DXVK Linux sake)
Hi Mechwarrior has also DirectX 12 (VKD3D) Support with -D3D12 flag. Unfortunately, on my system with Nvidia card, the performance is just as bad as with DirectX 11 (DXVK).
Been using DX12 and performance has been good with some areas being rather bad at times. I'm still testing and messing with settings to get optimal results. DX11 had major fps drops on some levels and appeared worse then dx12..
Hi, apologies for bumping an old issue; however, I'm attempting to get this game to run with DXVK under Windows. On my system, it seems to log an err of D3D11DXGIDevice::QueryResourceResidency: Stub
and then just idle the game process, not doing anything else, not even creating a window for the game. Logs DXVK produces are attached below.
MechWarrior-Win64-Shipping_d3d11.log MechWarrior-Win64-Shipping_dxgi.log
@aurismat It's better if you open a separate issue as this one is about performance. Tho I've just tried starting this on Linux with proton and dxvk 1.10.3 on my amd R9 380 and it started fine. I see you have some extra config options that i couldn't find to be a part of the built in config
info: Effective configuration:
info: d3d9.apitraceMode = True
info: d3d11.ignoreGraphicsBarriers = True
info: d3d11.relaxedBarriers = True
Could you try to rid those and try again? You can also try with the latest master build https://github.com/doitsujin/dxvk/actions/runs/2901149174
@jarrard Friendly necro ping. Am i correct in assuming that this has improved? Looking at the latest ProtonDB reports.
dunno, been long time since i tested it out. Mostly waiting on MercTech and PirateTech mods to be updated.
@jarrard :eyes: Have they been updated? :grin:
I think MercTech is close to its big 2.0 release (I think that's it). But it will be in huge bug testing phase for a while. All info is on this discord.
@jarrard Any update on this?