Jump to content

Here's How To Convert "SB Pro Pe" From DX9 to Vulkan - Almost Doubling To Doubling Your Frames


drcancerman

Recommended Posts

Downloading this modified d3d9.dll will increase the frames considerably. Almost double to double the frames of what you are currently getting. The downsides? So far, I found none. But there could be something. Like being unstable and causing a random crash here or there, which eSim won't be able to help. If that happens, try replicating the same steps you did that caused the crash on Vulkan on the DX9 default file and see if it happens too. 

 

Thanks to Mezentius for the DXVK-Async suggestion, test and the DXVK.conf file. 

 

INSTALL: 

 

  1.  Go here https://github.com/doitsujin/dxvk/releases OR https://github.com/Sporif/dxvk-async (Try this if the first one doesn't work for you, the extra steps for this one are highlighted in red. If you choose the first, you don't need to follow the steps in red)
  2.  Click and download dxvk-1.10.1.tar.gz (depending when you read this, the version will change to a higher, and could work)
  3. Go below on this post and download the "dxvk.conf" file if you chose the DXVK-ASYNC method.
  4.  Open the file with any decompressing program (WinRar, 7zip et al)
  5.  go to DXVK\x64 folder and drag/decompress the only dll you will use "d3d9.dll" (And "dxgi.dll" for the DXVK-ASYNC)
  6.  Place the "d3d9.dll" into your ...\eSim Games\SB Pro PE\Release folder (the "dxgi.dll" and the dxvk.conf that can be downloaded below in case you are using the DXVK-ASYNC)
  7. Done, now run the simulator and enjoy high frames.

 

To uninstall just go to ...\eSim Games\SB Pro PE\Release and delete only the d3d9.dll file. (and DXGI.DLL if you are using DXVK-ASYNC version)

 

As a bonus, this also allows you to use Reshade. I will update this post based on what I find while trying this longer. 

 

My specs are 1080ti, 32GB Ram,  Intel Core i7 9700K at 4.7, maxed everything on Steel Beasts graphics settings. 

 

These are my findings on the quick test I did, I am copying it from the thread, and I will be honest, the results are very promising.

 

Quote

 

Vulkan: Rarely dipped below 60 FPS, mostly stayed at 65 FPS. Only dipped sub 30 FPS( At 27 and thereabouts) when inside the heavy smoke, and artillery area. Outside of that, 45 and 55 only when it was switching or unstable frames, which means, less than a second.

 

GB RamDX9(Default): Below 30 from the moment I opened into the M60. It hovers around 25 to 30 FPS, rarely over 33 FPS. Inside the artillery and smoke part, it reached 10 to 15 FPS(and danced around those numbers).
    
This replacement DX9 to Vulkan really made the frames go high! I will be making a thread about this later when I have more time.

 

 

Screenshots with DXVK applied: 

SBProPE64cm 2022-06-13 21-30-59.png

SBProPE64cm 2022-06-15 01-30-12.png

SBProPE64cm 2022-06-15 01-38-18.png

 

SBProPE64cm 2022-06-16 01-52-53.png

SBProPE64cm 2022-06-16 01-53-51.png

dxvk.conf

Edited by drcancerman
Added some screenies
Link to comment
Share on other sites

34 minutes ago, Mezentius said:

Great , but I'm afraid this doesn't work for me -- it gets stuck on the "Loading models" when starting .

 

However, dxvk shouldn't be necessary to use Reshade with Steel Beasts. I use Reshade and haven't had any issues, except on missions with of weather overlays (e.g. falling snow).

 

For me, Reshade makes the sim crash and refuses to accept ultra-wide screen resolutions. 

 

I just tried an instant action at random, and it loaded. What mission are you trying? So I can try on my end and see if it gets stuck too.

Link to comment
Share on other sites

21 hours ago, Mezentius said:

Everything — instant , tank range, user-created missions. I suspect this is all dependent on , drivers, etc.

 

Damn, it must be something else then. I am clueless!

 

9 hours ago, nwbry said:

Checked this out yesterday and it works beautifully for me - free double . give this one a try.

 

I wasn't expecting it to work this well either! I expected a few minutes of gameplay at most and an instant crash, which would have made this unviable. But nope! Very stable(So far! I hope I don't jinx it! haha)

Link to comment
Share on other sites

49 minutes ago, drcancerman said:

Damn, it must be something else then. I am clueless!

Nah I'm the clueless one! After some tweaking, I had much better luck with dxvk-async, which is a fork of the project you linked. Saw the same huge improvement in frame rate, and now Reshade is also a lot more reliable in missions with weather. Thanks for the recommendation -- it's a literal game changer!

 

EDIT: It's possible dxvk would work too-- however in both cases I think it may be necessary (for me, at least) to also copy the dxgi.dll into the ../Release/ directory in order for this to work.

 

Also, if you want to try dxvk-async, which is advertised as producing much less stuttering, you'll also want to copy the attached file into your ../Release/ directory to enable it.

dxvk.conf

Edited by Mezentius
Link to comment
Share on other sites

Honestly I'm having a negative effect, using d3d9.dll frame rates drop to 6 FPS


In the Mission Editor I setup a small test using the Fulda map, one vehicle in middle of the city with artillery smoke dropping a few hundred meters away

 

Tested several variations: no mod, with x32 d3d9.dll, with x64 d3d9.dll, and both with dxgi.dll

Standard game I get 24-30 FPS, drops to 10 FPS in the smoke

With any d3d9.dll mod I only get 6-8 FPS max (using ALT+F12 to see FPS)

 

Both in Windowed and Full Screen

ALT+D (Terrain Draw Distance) all set to max, ALT+G (Graphics) set pretty low.

 

Any advice?

Link to comment
Share on other sites

  • Members

I recommend reducing the ground clutter draw distance. Each ground clutter element is a 2D billboard, and their number increases with the square of the draw distance. This is what kills most of your framerate. Whatever other benefits the Vulkan wrapper may offer, they will materialize only if you remove the bottleneck from the ground clutter.

 

Personally, I keep the ground clutter at 15...20%. But then again, I've never cared too much about the best possible looks as long as I could have a reasonably high framerate.

But whether you follow my example or not, reducing ground clutter will free up enough reserves of your graphics card to, say, increase the shadow settings. IMO that adds more to the scenery quality.

Link to comment
Share on other sites

7 hours ago, Dakota7 said:

Honestly I'm having a negative effect, using d3d9.dll frame rates drop to 6 FPS


In the Mission Editor I setup a small test using the Fulda map, one vehicle in middle of the city with artillery smoke dropping a few hundred meters away

 

Tested several variations: no mod, with x32 d3d9.dll, with x64 d3d9.dll, and both with dxgi.dll

Standard game I get 24-30 FPS, drops to 10 FPS in the smoke

With any d3d9.dll mod I only get 6-8 FPS max (using ALT+F12 to see FPS)

 

Both in Windowed and Full Screen

ALT+D (Terrain Draw Distance) all set to max, ALT+G (Graphics) set pretty low.

 

Any advice?

What graphics card are you using? 

 

17 hours ago, Mezentius said:

Nah I'm the clueless one! After some tweaking, I had much better luck with dxvk-async, which is a fork of the project you linked. Saw the same huge improvement in frame rate, and now Reshade is also a lot more reliable in missions with weather. Thanks for the recommendation -- it's a literal game changer!

 

EDIT: It's possible dxvk would work too-- however in both cases I think it may be necessary (for me, at least) to also copy the dxgi.dll into the ../Release/ directory in order for this to work.

 

Also, if you want to try dxvk-async, which is advertised as producing much less stuttering, you'll also want to copy the attached file into your ../Release/ directory to enable it.

dxvk.conf 55 B · 2 downloads

 

Thank you! I will add this to the main thread for those who are facing the same problem. I tested it myself and it seemed to work, no loss of frames either. 

Edited by drcancerman
Link to comment
Share on other sites

I got quite a boost but I noticed some weird tree rendering(the winter dead pine) was kinda blotchy with squares. My biggest question though is WHY this works and can it be adapted /adopted/implemented natively (and therefore properly integrated) with the upgrades by Esim themselves?? I got a 20 fps boost with it. I did have a single crash in a multiplayer but I'm unsure if its related or not as I've played a number of single player missions without incident. Using a RX 560 graphics card BTW.

Link to comment
Share on other sites

3 hours ago, Badger said:

I got quite a boost but I noticed some weird tree rendering(the winter dead pine) was kinda blotchy with squares. My biggest question though is WHY this works and can it be adapted /adopted/implemented natively (and therefore integrated) with the upgrades by Esim themselves?? I got a 20 fps boost with it. I did have a single crash in a multiplayer but I'm unsure if its related or not as I've played a number of single player missions without . Using a RX 560 card BTW.

 

Can you share a screenshot of the tree and which scenario/map did you use? To see if it happens on my end too. 

 

And as for the rest, I think only Ssnake can answer that. But it is definitely something I wish it could happen. 

Link to comment
Share on other sites

14 minutes ago, drcancerman said:

And as for the rest, I think only Ssnake can answer that. But it is definitely something I wish it could happen. 

 

I suspect he will say “Caveat Emptor”.

 

My understanding is the the code is pretty convoluted in terms of various pieces of code added on top of older code and that making changes to incorporate this might reveal other issues, whereas their planned “rebuild from the bottom up” will likely address these and other issues in a more integrated way.

 

Link to comment
Share on other sites

46 minutes ago, drcancerman said:

 

Can you share a screenshot of the tree and which scenario/map did you use? To see if it happens on my end too. 

 

And as for the rest, I think only Ssnake can answer that. But it is definitely something I wish it could happen. 

 

SBProPE64cm_2022.06.19-00.31.png

WINTER_WOLVES.sce

Edited by Badger
Link to comment
Share on other sites

Note the FPS....I'm usually in the 25-30 or below range in thermals.

EDIT...I also noticed that switching to daysight with a tank in cross hairs will sometimes bottom out...and I mean BOTTOM....6-9 fps from 50fps.

 

 

Edited by Badger
Link to comment
Share on other sites

1 hour ago, Badger said:

Note the FPS....I'm usually in the 25-30 or below range in thermals

 

 

 

These are the tests I made with the file you gave me. It could be an nvidia/amd type. Have you tried the async alternative? Is the anti-aliasing enabled? 

 

 

SBProPE64cm 2022-06-19 01-55-57.png

SBProPE64cm 2022-06-19 01-56-06.png

SBProPE64cm 2022-06-19 01-55-46.png

Edited by drcancerman
Link to comment
Share on other sites

1 hour ago, Gibsonm said:

 

I suspect he will say “Caveat Emptor”.

 

My understanding is the the code is pretty convoluted in terms of various pieces of code added on top of older code and that making changes to incorporate this might reveal other issues, whereas their planned “rebuild from up” will likely address these and other issues in a more integrated way.

 

 

That could be it.. Maybe do workarounds on the code? I am spitballing here, since my understanding in programming is barely at "hello world" level. 

Link to comment
Share on other sites

I think they are trying to avoid “work arounds” on top of several previous “work arounds”.

 

I wouldn’t go as far as saying its fragile, but I’m sure there’s a bunch of interdependences - change one thing and have a range of foreseen and unforeseen consequences.

 

Link to comment
Share on other sites

I didn't use the async alternative...and yes I'm using anti aliasing. The trees I'm referring too are the one's WITHOUT the snow covered branches...the one's that look dead/dying(don't know what type they are) NOT the snow covered ones ,or the healthy looking one's (they look as they should) 

I will try the other version async to see if there's a difference.

Edited by Badger
Link to comment
Share on other sites

Just came out of a multi session...thermal sight usage was constant 50-60 plus....switching to daysight would bottom it out to almost zero. daysight was unusable in todays mission, yet other missions I played in single player were fine...stumped

Link to comment
Share on other sites

  • 8 months later...
On 3/18/2023 at 7:41 PM, Gibsonm said:

Causes a crash to desktop for me:

 

- For a brand-new gfx card, see https://github.com/doitsujin/dxvk/releases and make sure you're using the latest version (which is 2.1 currently, not the 1.10 from the first post in this thread).

 

- Make sure you copy from the "x64" folder, and copy both d3d9.dll and dxgi.dll. (Do NOT use the dxvk.conf listed above.)

 

- Vulkan 1.3 is required so using the latest graphics drivers is a must.

Edited by Mezentius
Link to comment
Share on other sites

35 minutes ago, Mezentius said:

 

- For a brand-new gfx card, see https://github.com/doitsujin/dxvk/releases and make sure you're using the latest version (which is 2.1 currently, not the 1.10 from the first post in this thread).

 

- Make sure you copy from the "x64" folder, and copy both d3d9.dll and dxgi.dll. (Do NOT use the dxvk.conf listed above.)

 

- Vulkan 1.3 is required so using the latest graphics drivers is a must.

 

Thanks, but I'll just not use it.

 

Esp. as the card details state: "D3D9 Overlay: Not Supported".

 

Also elsewhere it appears that using the latest drivers may well be producing the performance issue I'm having, with the suggestion being to roll back:

 

 

Latest vs Rollback can't be done concurrently so I'll stick with the Graphics Card drivers.

 

Edited by Gibsonm
Link to comment
Share on other sites

1 hour ago, Gibsonm said:

Esp. as the card details state: "D3D9 Overlay: Not Supported".

 

Actually, if your card doesn't support D3D9 Overlay, that's a good reason to use DXVK — one of the reasons that the library is useful (beyond the performance bump) is that it allows you to get around spotty DX9 support in newer cards. And even slightly older Nvidia drivers (within the last 4-6 months or so) should support Vulkan 1.3, which was introduced in January of last year.

 

Your milage may vary, of course, but if you're experiencing other issues with SB and can't find a solution, it's possible that DXVK might actually solve them, so long as you're using the latest version and not the dll that was floating around the discord recently.

 

Good luck— sounds very frustrating!

Link to comment
Share on other sites

11 minutes ago, Mezentius said:

Your milage may vary, of course, but if you're experiencing other issues with SB and can't find a solution, it's possible that DXVK might actually solve them, so long as you're using the latest version and not the dll that was floating around the discord recently.

 

Sure but I'm not going to try and bounce around between Nvidia and this, in an ongoing upgrade / roll back spiral.

 

Its too easy for Nvidia to say - your card's not working because you have X "non Nvidia software installed".

 

I get that it may work for some and good luck to them, but I'll pass.

 

Edited by Gibsonm
Typo.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...