Jump to content

Analysis: Why can F10 View be taxing on the CPU and FPS


Worrazen

Recommended Posts

Sorry that this is posted at the busiest times, this is more of a report for those who're interested in the sport of performance speculation, but that I could have posted at any time before or later. Now, I don't do this for drama, I do it because of genuine feedback as well and also part of my learning of the diagnostic/performance profiling tools which I need for in all the other DCS-unrelated projects and stuff. I just wanted to get it off the list as there's quite a bit of cases where I forgot to finish things I started testing and writing about.

 

After being on release build for quite some time I joined the 2.5.6 open beta bug hunting party and thing thing with the F10 View came along.

 

So why is it that F10 AWACS view can appear so laggy at times and quite taxing on the CPU of all things, something I never noticed before as I just wasn't looking, and it's a pretty simple answer.

 

(Text may look a bit crappy due to being downscaled to 1080p from 1440p as usual with my DCS videos, otherwise OBS has too much impact on CPU, perhaps I may adjust the bitrates and quality stuff more, but the source is at 20000 kbps so IDK why it doesn't look better, and youtubes/webstreaming chroma subsampling, yuck)

 

Draw Calls! Draw Calls! Draw Calls! A gigantous ~5000 of them in the F10 View versus ~2000 looking at a city on the Persian Gulf shore. So it wasn't just about the SSDs and loading, that we thought back than, tho that factor did improve things by a lot, so very very interesting.

 

Stats for DCS_256OB_PERS_F11_ExampleCityLowFPS-DrawCalls_20Feb2020.rdc.

 

File size: 1044.98MB (3302.55MB uncompressed, compression ratio 3.16:1)

Persistent Data (approx): 17.28MB, Frame-initial data (approx): 809.93MB

 

*** Summary ***

 

Draw calls: 2012

Dispatch calls: 427

API calls: 30317

Index/vertex bind calls: 3937

Constant bind calls: 4284

Sampler bind calls: 228

Resource bind calls: 3515

Shader set calls: 6597

Blend set calls: 2014

Depth/stencil set calls: 2014

Rasterization set calls: 2234

Resource update calls: 2436

Output set calls: 1027

API:Draw/Dispatch call ratio: 12.4301

 

 

Stats for DCS_256OB_PERS_F10_ExampleCityZoomToMAXDrawCalls_20Feb2020.rdc.

 

File size: 335.02MB (1042.15MB uncompressed, compression ratio 3.11:1)

Persistent Data (approx): 23.40MB, Frame-initial data (approx): 173.94MB

 

*** Summary ***

 

Draw calls: 5125

Dispatch calls: 124

API calls: 67293

Index/vertex bind calls: 15063

Constant bind calls: 8583

Sampler bind calls: 626

Resource bind calls: 1403

Shader set calls: 15505

Blend set calls: 5127

Depth/stencil set calls: 5127

Rasterization set calls: 5216

Resource update calls: 5256

Output set calls: 251

API:Draw/Dispatch call ratio: 12.8202

 

Althought the FPS is kinda similar, that's because the GPU in the F11 Free Look view has a lot more to do, while in the F10 View it's kept back by the CPU having a tougher job feeding the GPU, and because doing those draw calls in DX11 probably not multi-threaded but I haven't looked at the CPU usage data per-threads for this scenario yet.

 

 

There's nothing to do really, this is exactly the type of stuff Vulkan API based renderer will greately improve for free because the draw calls there would cost a lot less of CPU, meaning that in practice the GPU can do things on it's own without needing heavy CPU usage to babysit it. Additionally because the draw call cost is heavily reduced the CPU can spend it's time on things that are far more important, like the AI, simulation, physics and gameplay calculations.

 

In does not lag so much in all zoom levels, only in maximum zoom out, and the middle portion when you have a lot of details+a sizable area, that is the FPS, but in terms of CPU it's quite taxing on almost all zoom levels so if the whole game simulations starts lagging, perhaps you guys might remember to switch out of the F10 View because I also thought F10 would be light on the system, but it can be the other way around, actually hogging even if you're not looking at the high draw call areas.

 

In the meantime as far as optimization goes, it may only be worth it if perhaps there is some easy trick to perhaps lower the draw calls, truncating some things that could be and wouldn't take a lot of effort to, or to not display those grid lines by default, but we should wait for the bigger and better solution that's as we all know in the works for some time now.


Edited by Worrazen

Modules: A-10C I/II, F/A-18C, Mig-21Bis, M-2000C, AJS-37, Spitfire LF Mk. IX, P-47, FC3, SC, CA, WW2AP, CE2. Terrains: NTTR, Normandy, Persian Gulf, Syria

 

Link to comment
Share on other sites

  • 1 month later...

Update:

 

This is not the first time I looked at the F10 AWACs view, I found the old thread now that I was referring to: https://forums.eagle.ru/showthread.php?p=3161931

 

In the old days the HDD slowness may be the problem, but once loaded into RAM (and then cached in standby memory) the disk issue would go away, but the lag remained, well it's also CPU/GPU related as we can see.

 

TLDR: This is just informational for players wondering about this lag, it's not your PC fault and not much end-user (or even devs in short term) can do about it except having a better CPU with much better single-core perf ---> wait for DCS Vulkan API/Multi-threading improvements. IMO.


Edited by Worrazen

Modules: A-10C I/II, F/A-18C, Mig-21Bis, M-2000C, AJS-37, Spitfire LF Mk. IX, P-47, FC3, SC, CA, WW2AP, CE2. Terrains: NTTR, Normandy, Persian Gulf, Syria

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

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