Graviteam Tactics: Mius-Front

Graviteam Tactics: Mius-Front

View Stats:
Zephyr Dec 1, 2023 @ 1:44pm
DXVK and GT games (Performance improvements AMD GPUs)
Since I had a few performance issues with Mius Front and a RX 7000 series AMD GPU I think such a thread might help. I plan to document odd things and possible solutions if I find any. Details to the reasons why I will use DXVK for Mius Front for at least the foreseeable future can be found here: https://steamcommunity.com/app/312980/discussions/0/3976177262465851050/

To give a little context:

I use a Ryzen 5800 X3d, a RX 7900XT and 32 GB DDR 4 3200 RAM and play at 4K resolution now. All other things should not matter. I started this little quest since I had better performance with my older RTX 3070 GPU (otherwise same system)

DXVK is a wrapper that translates DirectX 9 (or other DX versions) into something resembling the Vulkan API (apologies for the non technical summary). It was originally made for Linux but runs quite well under Windows. For Mius Front (GT games) it seems quite interesting as it can dramatically improve performance under the right circumstances, at least with RX 7000 series AMD GPUs. Nvidia GPUs might also benefit, no idea.

Some bugs or other unpleasant things might happen and I will go ahead and test this out.

If some question arise how to use it I can give more detailed info or maybe Zyhgar The Phoenix who helpfully recommended DXVK will chime in. It would also be interesting if the Devs could perhaps have a look at why AMD GPUs perform worse in some cases. I hope they have the opportunity some day. Especially interesting for the GPU issues is grass rendering and to some degree smoke.

Technical bugs: Corruption of the Steam overlay screenshot function (F12): Can be fixed by rebinding to non F-Key.

Visual bugs: Fires are sometimes a little too bright. No fix

When this progresses enough and/or there is enough interest I can make a separate dedicated buglist.

Just for fun to show some differences:
DXVK
https://steamcommunity.com/sharedfiles/filedetails/?id=3102128141

DX9
https://steamcommunity.com/sharedfiles/filedetails/?id=3102172813

Like always not 100 % comparable, but at least same battlefield, both are more or less worst case scenarios. Operation is Guabrevo, this battlefield was always heavy on performance for me. It is simply stunning how differently the GPU behaves.

The smoke with the Vulkan Wrapper causes far more GPU load/frequency and power draw. I use a custom configuration for my RX 7900XT in GT games and well, this is the highest clock I ever managed anywhere for this GPU. I have to look into this if this is a "bug category" or if this is just a Vulkan special. Nothing like this is seen in DX9. The smoke obviously has also a high performance cost here (at least I would guess so). Notably performance with DX9 is not better in such smoke heavy situations with a lot of fighting (rather worse), even though the GPU load looks nothing like this in DX9.
Last edited by Zephyr; Dec 2, 2023 @ 2:07am
< >
Showing 1-15 of 21 comments
I guess, I should share some technical stuff if anyone is going to try DXVK for them selves.
First of all DXVK can work for both nvidia and AMD but on some systems configurations DXVK may have a reverse effect to performance.

You need to make sure that your GPU driver is fully up to date when using DXVK and that your GPU driver has the latest VULKAN version that works with DXVK usually the driver webpage says the VULKAN version and the gpu control panel has the version too.

Downloading and installing DXVK is easy. https://github.com/doitsujin/dxvk here's the link to the git and is the ONLY place you should download DXVK from.
Go to releases and click the dxvk-X.X.tar.gz for the current version of DXVK or a version that works with your VULKAN version.
Then you'll need a zip program like 7zip or winrar open the .gz file with that then click on the dxvk-x.x.tar in the zip window, you should see its now an folder go into that folder, inside you should see x32 and x64. Click on x64 and grab the file called d3d9.dll and copy that into your Graviteam Tactics Mius-Front main folder.
So the DLL needs to be installed where the main exe for the game is so your directory should have the games starter.exe and now two d3d9.dll the one marked with 43 is the games base d3d9 file. DO NOT DELETE IT AT ALL DO NOT EVEN TOUCH IT!!! DXVK will override the old dx dll.
Now how do you know if DXVK is working ? You're going to need to set an windows environment variables. How do you do that ? Go to windows settings > system > about > advanced system settings and at the bottom of the box should be a button with environment variables. Open that in the user variables tab click new and set the variable name as DXVK_HUD and in the value should be devinfo. Click ok and close everything and start the game at the top of your screen DXVK should have some text showing to say that the driver is working. If you don't want that information to stay while playing you can go and delete the DXVK_HUD variable.
But the hud can be useful as it has more values for showing performance and even technical stuff like draw calls and rendering times.
Last edited by Zyhgar The Phoenix; Dec 1, 2023 @ 4:42pm
Zephyr Dec 2, 2023 @ 2:07am 
Thank you for writing this, then I do not have to do it :). As a side note: In my case all that was necessary to get it working was to put the appropriate DX9.dll into the Mius Front main folder.

You can also see if this works by using MSI afterburner which will show the used API like in my shots here. This is probably most convenient if it works like intended.
Last edited by Zephyr; Dec 2, 2023 @ 2:08am
Zephyr Dec 2, 2023 @ 5:45am 
Ok, so I tried my first complete moderately sized battle with DXVK and I could not see any real glitch so far. In fact the game was running better than ever: 800 men battle steady 80 FPS on average (limited on 80, it is a bit more because whenever I go to the tactical map I will get the 100 engine limit FPS), one drop to 60 FPS, wow.

https://steamcommunity.com/sharedfiles/filedetails/?id=3102814779

Typical with smoke and heavy fighting:
https://steamcommunity.com/sharedfiles/filedetails/?id=3102814273

FPS drop when smoke/incendiary explodes in front of you
https://steamcommunity.com/sharedfiles/filedetails/?id=3102814436


I suppose for some reason DXVK enables the GPU to really work compared to DX9 and now I can also see the"true cost" of smoke and effects rendering at 4K.

I think fires are a little to bright, but perhaps it was always like this. I have to check out DX9 closer for a comparison.

https://steamcommunity.com/sharedfiles/filedetails/?id=3102814070

Anyway, I am really impressed and the battle was a pure joy after quite some time of abstinence. As ever impressive what has happened in the meantime. It felt like there was some work done on the retreat mechanics especially. Almost everything made sense and consequently losses on both sides were quite low despite shooting at each other for 90 minutes.

I will play some more on the weekend, also other battlefields than Federovka like here.
Last edited by Zephyr; Dec 2, 2023 @ 6:03am
May i ask are you currently using hyper threading? It seems like cpu 1 and thread 1 are being maxed out even on vulkan.
Vulkan should by default attempt to even out the load on all cores instead of 1 but looking at your previous screenshots before dxvk it seems to be loaded only on core 1?
Zephyr Dec 2, 2023 @ 6:18am 
Originally posted by Zyhgar The Phoenix:
May i ask are you currently using hyper threading? It seems like cpu 1 and thread 1 are being maxed out even on vulkan.
Vulkan should by default attempt to even out the load on all cores instead of 1 but looking at your previous screenshots before dxvk it seems to be loaded only on core 1?
Hyper threading is enabled but I do not think equal load (or trying to force it) is possible with GT games. I have always seen that the game attempts to run on 1-2 cores as long as possible. If there is too much going on there is a switch to "plan B", but with diminishing returns.

Like here: This is borderline when it would start to "flip".
https://steamcommunity.com/sharedfiles/filedetails/?id=3102128067

Vs. DX9 when the CPU has already a problem (well together with the GPU)
https://steamcommunity.com/sharedfiles/filedetails/?id=3102172813
This can look worse still.

It also depends on what Bios settings I use for my CPU. There are different options how windows is allowed to select "preferred" cores and schedule their use. The current setting I have is the most optimal for all situations without noticeable disadvantages for specific cases. I will have a try how it looks with different settings.

For me GT games were always running optimal if a "primary" preferred core could be maxed out with a second core "helping". The rest should sleep more or less if possible. Windows could select different cores being primary or secondary, but they would be just alternating and no more than 2 cores should be used seriously when the game runs optimal.
Last edited by Zephyr; Dec 2, 2023 @ 6:21am
Mmmm okay I'm silly and was reading your ui wrong so it is putting load on core 0 and 4 which i think is in terms both the strongest cores cause they're in 4 core chiplets.
Though i believe hyper threading for this should be allowed up to 4 cores and 8 thread? Idk if the restriction is 2 core 4 thread or 8 threads For this game.
I feel like a good portion of the performance bottleneck is the multicore usage on the CPU.
Zephyr Dec 2, 2023 @ 6:36am 
Originally posted by Zyhgar The Phoenix:
Mmmm okay I'm silly and was reading your ui wrong so it is putting load on core 0 and 4 which i think is in terms both the strongest cores cause they're in 4 core chiplets.
Though i believe hyper threading for this should be allowed up to 4 cores and 8 thread? Idk if the restriction is 2 core 4 thread or 8 threads For this game.
I feel like a good portion of the performance bottleneck is the multicore usage on the CPU.
Yes, Mius Front (GT games) was always inherently incapable of using multiple cores well. I have seen multiple cores being used in certain conditions, but this would not really help performance much. As far as I can tell there is no benefit at all having more than 4 cores with this game and once 1-2 cores are incapable of optimally supporting the game functions it is a losing game. It will help a little to use more cores than 2, but not much. Which is why single core CPU power is the most important thing. And even this I cannot use properly in DX9 together with the AMD GPU :).
Last edited by Zephyr; Dec 2, 2023 @ 7:28am
The problem is here is that AMD was pretty strong on dx9 and I've seen what a modified dx9 can do when it's modified to used more cores efficiently on AMD so i cannot tell why this game runs ineffectively on dx9.
Though with dxvk more cores would definitely help as vulkan is specifically designed around multicore rendering a bit more than single as core 4 there is definitely helping 0 a lot more.
Though I'm on an 3700x so maybe it's time for me to get an x3d as that larger cache seems to pull it's weight in single core.
Last edited by Zyhgar The Phoenix; Dec 2, 2023 @ 6:43am
Zephyr Dec 2, 2023 @ 6:54am 
Originally posted by Zyhgar The Phoenix:
The problem is here is that AMD was pretty strong on dx9 and I've seen what a modified dx9 can do when it's modified to used more cores efficiently on AMD so i cannot tell why this game runs ineffectively on dx9.
Though with dxvk more cores would definitely help as vulkan is specifically designed around multicore rendering a bit more than single as core 4 there is definitely helping 0 a lot more.
Though I'm on an 3700x so maybe it's time for me to get an x3d as that larger cache seems to pull it's weight in single core.
Probably because the games DX9 was not designed with AMD in mind. AMD was not really a thing again back then when the game was made. Nobody would have thought they would come back like this in 2015/16 (and the development phase lies back much longer).

The 5800 X3d is well worth it. I bought one in 2022 after 3 years with a 3700X. The 3700X was not bad, but the 5800 X3d is a massive upgrade, especially for other games than GT. But even in GT games it is very good compared to a 3700X.

This is how it looks like when I do not allow the OS to pick cores:

https://steamcommunity.com/sharedfiles/filedetails/?id=3102893413
https://steamcommunity.com/sharedfiles/filedetails/?id=3102893351
https://steamcommunity.com/sharedfiles/filedetails/?id=3102893285

For Mius Front this is the better setting, but it is detrimental for other games. Overall having the OS pick is best I found. There is also still a strong preferrence for 1-2 cores, depending on what is happening. Just which cores is different. For some reason Mius Front always wants to run on the OS core, which is also not optimal. Many games are able now to pick other cores for themselves.
Last edited by Zephyr; Dec 2, 2023 @ 7:29am
andrey12345 v2.0  [developer] Dec 2, 2023 @ 8:02am 
Originally posted by Zyhgar The Phoenix:
Mmmm okay I'm silly and was reading your ui wrong so it is putting load on core 0 and 4 which i think is in terms both the strongest cores cause they're in 4 core chiplets.
Though i believe hyper threading for this should be allowed up to 4 cores and 8 thread? Idk if the restriction is 2 core 4 thread or 8 threads For this game.
I feel like a good portion of the performance bottleneck is the multicore usage on the CPU.
Read carefully, all your questions are answered here.
https://en.wikipedia.org/wiki/Amdahl%27s_law
Dane Dec 2, 2023 @ 8:41am 
Originally posted by andrey12345 v2.0:
Originally posted by Zyhgar The Phoenix:
Mmmm okay I'm silly and was reading your ui wrong so it is putting load on core 0 and 4 which i think is in terms both the strongest cores cause they're in 4 core chiplets.
Though i believe hyper threading for this should be allowed up to 4 cores and 8 thread? Idk if the restriction is 2 core 4 thread or 8 threads For this game.
I feel like a good portion of the performance bottleneck is the multicore usage on the CPU.
Read carefully, all your questions are answered here.
https://en.wikipedia.org/wiki/Amdahl%27s_law


That was way too much information to wrap my brain around. I would have to delete a portion of my internal memory just to make room to process that at a future date.
Zephyr Dec 2, 2023 @ 10:12am 
It is quite hilarious to see Mius Front maxing out an overclocked 4K gaming GPU. I never even imagined I would see this... .

https://steamcommunity.com/sharedfiles/filedetails/?id=3103097026

The reason is that every effect/explosion that creates dust and smoke directly hits the GPU along with the CPU. This is very noticeable during artillery strikes. The game runs very well like this in large battles, though. I am sure "overload" is eventually possible but even in the most intense scenes and largest battles I did not drop below 30 FPS much, which is easily possible with DX 9 at maxed graphics settings (except smoke and dust moderate reduction).
Originally posted by andrey12345 v2.0:
Originally posted by Zyhgar The Phoenix:
Mmmm okay I'm silly and was reading your ui wrong so it is putting load on core 0 and 4 which i think is in terms both the strongest cores cause they're in 4 core chiplets.
Though i believe hyper threading for this should be allowed up to 4 cores and 8 thread? Idk if the restriction is 2 core 4 thread or 8 threads For this game.
I feel like a good portion of the performance bottleneck is the multicore usage on the CPU.
Read carefully, all your questions are answered here.
https://en.wikipedia.org/wiki/Amdahl%27s_law
This doesn't actually answer anything for me since the efficiency of more cores has improved two fold overtime.
AMDs multicore is it primary reason why their cpus managed ahead fast especially in the productivity area.
Taking vulkan into account for gaming more cores is actually better especially for spreading load around.
4 cores and 8-16 threads could provide an performance boost in this scenario even on dx9.
Originally posted by Zephyr:
It is quite hilarious to see Mius Front maxing out an overclocked 4K gaming GPU. I never even imagined I would see this... .

https://steamcommunity.com/sharedfiles/filedetails/?id=3103097026

The reason is that every effect/explosion that creates dust and smoke directly hits the GPU along with the CPU. This is very noticeable during artillery strikes. The game runs very well like this in large battles, though. I am sure "overload" is eventually possible but even in the most intense scenes and largest battles I did not drop below 30 FPS much, which is easily possible with DX 9 at maxed graphics settings (except smoke and dust moderate reduction).
I'm extremely surprised at how powerful the 7900xtx is if you're playing at 4k and getting that much frames in this game. On 1080p with my 6700xt and 3700x i usually sit around 40fps with vulkan.
Zephyr Dec 2, 2023 @ 2:11pm 
Originally posted by Zyhgar The Phoenix:
Originally posted by Zephyr:
It is quite hilarious to see Mius Front maxing out an overclocked 4K gaming GPU. I never even imagined I would see this... .

https://steamcommunity.com/sharedfiles/filedetails/?id=3103097026

The reason is that every effect/explosion that creates dust and smoke directly hits the GPU along with the CPU. This is very noticeable during artillery strikes. The game runs very well like this in large battles, though. I am sure "overload" is eventually possible but even in the most intense scenes and largest battles I did not drop below 30 FPS much, which is easily possible with DX 9 at maxed graphics settings (except smoke and dust moderate reduction).
I'm extremely surprised at how powerful the 7900xtx is if you're playing at 4k and getting that much frames in this game. On 1080p with my 6700xt and 3700x i usually sit around 40fps with vulkan.
If all comes together in the worst mixture it can still drop to 25 FPS for a few seconds. I start out in this battle with 65-80 FPs depending what I do. Then when things start to get really ugly it will drop to 35-45 FPS with the occasional dips below when smoke and yet another artillery strike arrives. I will see what the limits are,

And yes the RX 7900 XT is very powerful overall and I found out that Mius Front allows for quite high frequencies, although I have to test how efficient this is. I have no other game that allowed for such high sustainable clocks. But here it does not need to draw much power for whatever it is doing, the maximum limit is 315 W default and I could still increase it by 15 % with a voltage of maximum 1.1 V allowed. I also use undervolt settings to allow the GPU to clock higher without reaching W and V limits. That aside the 7000 series architecture is quite different from the 6000 series so who knows. Usually I think a 7900 XT would be twice as powerful as a 6700 XT.
Last edited by Zephyr; Dec 2, 2023 @ 3:09pm
< >
Showing 1-15 of 21 comments
Per page: 1530 50

Date Posted: Dec 1, 2023 @ 1:44pm
Posts: 21