Jump to content

VRAM-to-RAM swapping/paging/overallocating behaviour on Windows? With eGPUs?


Recommended Posts

Posted (edited)

Hi,

Generally I get great performance with my Linux and eGPU setup here with DCS. And can even use a Reverb G2 VR headset via OpenXR, yaiy!

However there is one specific case where performance greatly degrades for me and I'm wondering if that's the same or different on Windows (and if it's not the same then that would strongly indicate that this would be a point for improvement in the Linux (AMD) graphics drivers):

When DCS allocates more VRAM than my Radeon RX 6650 XT has then performance degrades. The more VRAM is overallocated the worse the FPS get. This is especially an issue for multiplayer gaming for me and makes multiplayer unplayable, even on the lowest graphics preset. Could it be that DCS just always tries to load textures for all models and vinyls into VRAM which the server operator has set up and allowed? No matter if such a plane or object is in visible range or not? And then my eGPU's 40Gbit/s Thunderbolt 3 port becomes the bottleneck when the GPU needs to constantly access textures in RAM over this "small" bandwidth, bottlenecking port? (While when using <100% VRAM, it does not have to stress the TB3 port as all textures are already available on the GPU itself?)

The issue is not multiplayer specific though, I can also reproduce it in single player if either: I set the graphics presets to high and then load a detailed map like Syria. Or if I keep a Firefox browser open, which eats 1GB of VRAM, and then with high presets load Caucasus (without Firefox VRAM on Caucasus is just below 100% / 8GB VRAM and then FPS are great).

Or in the following example I'm using medium graphics presets 1920x1200 and loading the F-16 Caucasus free flight mission. First as is and I get an awesome 75 FPS at 59% VRAM usage:

free-flight-caucasus-medium-presets-F-16-wo-encyclopedia.png

Then I restart DCS, go through all planes in the encyclopedia, which already fills up and overallocates VRAM. And then start the same free flight mission. Then I'm only at 23 FPS at 186% VRAM usage:

free-flight-caucasus-medium-presets-F-16-w-encyclopedia.png

I also did some more detailed tests a while ago with a lot more settings here: https://github.com/TheZoq2/dcs_on_linux/issues/23. Has some older software versions though.

 

So I'm curious, are Windows graphics drivers smarter in paging less or unused textures from VRAM to RAM? Anyone here with eGPU + DCS experiences on Windows?

Edited by M-Flux
  • Like 1

SW, OS: Linux / Debian Sid -- VR: Monado (OpenXR) -- Launcher: Lutris -- Runner: Wine lutris-GE-Proton7-39-x86_64

HW, base/laptop: Lenovo Thinkpad T14s AMD Gen3 (AMD Ryzen 7 PRO 6850U, AMD/ATI Radeon 680M iGPU (for DCS usually unused), 32GB RAM, Samsung SSD 980 PRO 2TB) + eGPU: Razer Core X Chroma (Thunderbolt 3) + AMD/ATI Radeon RX 6650 XT 8GB; HOTAS: Logitech x-56, VR: HP Reverb G2

DCS Modules, Planes+Helicopters: F-14, F-16C, F/A-18C, AV-8B, AJS-37, UH-1H -- Maps: Nevada, Syria, Persian Gulf, Normandy 1944, The Channel -- Other Modules: FC3, Combined Arms, Supercarrier, WWII Assets Pack

1st "DCS" experience: Lock-On, later +FC1

Posted

Very interesting post, and it is interesting that you have decent performance in VR with a weak card (i had the g2 and still have a 3090 and was not satisfied).

I can't help you with your tests as I don't have an eGPU (and I don't plan on using a notebook for gaming anytime soon).

But I am interested in trying DCS and VR on linux. Maybe if I will have some day of break I could try dual-booting my system.

 

  • Like 2

🖥️ R7-5800X3D 64GB RTX-4090 LG-38GN950  🥽  N/A  🕹️ Realsimulator FFSB MKII Ultra, VKB Stecs Max, Winwing F-16EX Throttle, Winwing Orion (Skywalker) Pedals, Razer Tartarus V2 💺SpeedMaster Flight Seat, JetSeat

CVW-17_Profile_Background_VF-103.png

Posted

Just from the sentiment in the forum, I'd say there is a case to make for VRAM-bottlenecks causing performance issues. I'm not completely convinced personally, but there is some logic to it. 

However, like Virus AM, I'm intersted in exploring DCS on a Linux System. Tbh, wasn't even aware that DCS can be run under Linux. I kind of assumed it can not.

With current direction MS is going, I have a strong motivation to go this route. Gaming is the main reason I haven't switched to it yet.

  • Like 2

"Muß ich denn jedes Mal, wenn ich sauge oder saugblase den Schlauchstecker in die Schlauchnut schieben?"

Posted

DCS loads more than needed and does not unload when vram is full. We can all experience this especially in vr.

Alt-tab can get performance back but it doesn't work so good anymore in the latest OB. (Takes long to recover).

 

  • Like 2
Posted

The only way DCS runs in Linux from my knowledge is via Steam and it's Proton solftware. I use it too out of curiosity and it works with my Hotas and Pedals but I struggle with TiR.

There might be a way w/o Steam but I am not aware of it. 

Gigabyte Aorus X570S Master - Ryzen 5900X - Gskill 64GB 3200/CL14@3600/CL14 - Sapphire  Nitro+ 7800XT - 4x Samsung 980Pro 1TB - 1x Samsung 870 Evo 1TB - 1x SanDisc 120GB SSD - Heatkiller IV - MoRa3-360LT@9x120mm Noctua F12 - Corsair AXi-1200 - TiR5-Pro - Warthog Hotas - Saitek Combat Pedals - Asus XG27ACG QHD 180Hz - Corsair K70 RGB Pro - Win11 Pro/Linux - Phanteks Evolv-X 

Posted (edited)

@BitMaster There was quite a bit of progress. Correct, plain wine v7 did not work. But either the protonified wine-GE and I think also wine v8 should now work (I use wine-GE at the moment though, as plain wine does not have VR support and has issues with my custom keyboard layout). It also works without Steam with Lutris instead, which should take care of a properly configured wine environment for DCS. Lutris has nice installer scripts for DCS World: https://lutris.net/games/dcs-world/. Which is also what I'm using.

Headtracking should be possible, too. There is some documentation for that and DCS on Linux in general here: https://github.com/TheZoq2/dcs_on_linux, where we try to collect our findings. There's also a Matrix chat channel listed, where we try to help out each other as, yes, during the initial setup you might experience some turbulences.

@VirusAM Getting the Reverb G2 working with DCS on Linux was not easy though, I needed several manual steps to set it up [0]. Generally, VR is propably the easiest to set up on Linux via Steam+SteamVR - if you have a non-WMR VR headset which is natively supported by SteamVR - which the G2 is not. On the other hand using Monado instead of Steam/SteamVR, which provides an OpenXR runtime which DCS than can connect to directly, seems to be a more open, standardized and a lot cleaner approach to me and maybe is therefore also more performant. And Monado has very active development at the moment, through both volunteers and the Collabora company.

And also the new DXVK project probably contributes to the nice DCS non-VR and decent DCS VR performance. It translates those DirectX11 calls to Vulkan.

[0]: https://github.com/TheZoq2/dcs_on_linux/issues/26#issuecomment-1528227256

---

Edit: I just noticed and am hoping that I didn't create confusion with my initial post. To clarify: The screenshots with 75fps vs. 23fps were without VR. With VR I'm using the VR graphics preset and then get maybe around 30fps when at < 100% VRAM usage.

Edited by M-Flux
  • Like 1

SW, OS: Linux / Debian Sid -- VR: Monado (OpenXR) -- Launcher: Lutris -- Runner: Wine lutris-GE-Proton7-39-x86_64

HW, base/laptop: Lenovo Thinkpad T14s AMD Gen3 (AMD Ryzen 7 PRO 6850U, AMD/ATI Radeon 680M iGPU (for DCS usually unused), 32GB RAM, Samsung SSD 980 PRO 2TB) + eGPU: Razer Core X Chroma (Thunderbolt 3) + AMD/ATI Radeon RX 6650 XT 8GB; HOTAS: Logitech x-56, VR: HP Reverb G2

DCS Modules, Planes+Helicopters: F-14, F-16C, F/A-18C, AV-8B, AJS-37, UH-1H -- Maps: Nevada, Syria, Persian Gulf, Normandy 1944, The Channel -- Other Modules: FC3, Combined Arms, Supercarrier, WWII Assets Pack

1st "DCS" experience: Lock-On, later +FC1

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...