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


Notices

Reply
 
Thread Tools Display Modes
Old 02-20-2020, 08:51 PM   #1
Worrazen
Senior Member
 
Join Date: Oct 2014
Location: Slovenia
Posts: 1,403
Default Analysis: Why can F10 View be taxing on the CPU and FPS

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.

Quote:
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

Quote:
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.
__________________
Temporairly off for PC Maintenance - DCS not installed - Specs will change
Specs: Win10 x64 1607/14393, 1440p@75"32 - CPU: Intel Core i7 3820 @ 4.0GHz - GPU: Radeon RX 480 8GB - RAM: 32 GB, DCS SSD Samsung 860 EVO 250GB, Saitek Cyborg X/FLY5 joystick.
Modules: A-10C, F/A-18C, Mig-21Bis, M-2000C, AJS-37, WW2AP, CA, FC3, SuperCarrier.
Terrains: NTTR, Normandy, Persian Gulf

Last edited by Worrazen; 02-20-2020 at 11:30 PM.
Worrazen is offline   Reply With Quote
Old 03-21-2020, 10:41 PM   #2
Worrazen
Senior Member
 
Join Date: Oct 2014
Location: Slovenia
Posts: 1,403
Default

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.
__________________
Temporairly off for PC Maintenance - DCS not installed - Specs will change
Specs: Win10 x64 1607/14393, 1440p@75"32 - CPU: Intel Core i7 3820 @ 4.0GHz - GPU: Radeon RX 480 8GB - RAM: 32 GB, DCS SSD Samsung 860 EVO 250GB, Saitek Cyborg X/FLY5 joystick.
Modules: A-10C, F/A-18C, Mig-21Bis, M-2000C, AJS-37, WW2AP, CA, FC3, SuperCarrier.
Terrains: NTTR, Normandy, Persian Gulf

Last edited by Worrazen; 03-21-2020 at 10:48 PM.
Worrazen is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 05:28 AM. vBulletin Skin by ForumMonkeys. Powered by vBulletin®.
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.