Worrazen Posted February 20, 2020 Share Posted February 20, 2020 (edited) 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 February 21, 2020 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 More sharing options...
Worrazen Posted March 21, 2020 Author Share Posted March 21, 2020 (edited) 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 March 21, 2020 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 More sharing options...
Recommended Posts