DD_Friar Posted August 9, 2024 Posted August 9, 2024 I am sure as mission builders we are all aware of the impact on server / machine performance a mission could have, so as I am currently working on a new scenario for our squad I got to thinking "how big is a big mission"? I am talking in terms of lines of standard DCS triggers, without using scripts of any kind. From what I understand triggers are processed every second (please correct me if I am wrong on this) and I get that the machine that is running the mission will have an impact as well so my question may not even be able to be answered but if you have built a mission without using scripts, what is the most about of trigger lines you have used and found it to run without issue? Salute DD_Friar Visit the Dangerdogz at www.dangerdogz.com. We are a group based on having fun (no command structure, no expectations of attendance, no formal skills required, that is not to say we can not get serious for special events, of which we have many). We play DCS and IL2 GBS. We have two groups one based in North America / Canada and one UK / Europe. Come check us out.
104th_Money Posted August 27, 2024 Posted August 27, 2024 (edited) A lot of it depends on your hardware. The JTF Mad Dogs have a dedicated server with a i7-12700k/64gb DDR4-3600 Ram, Gen3 2TB SSD and a dedicated 1g up/down internet connection. I regularly build missions with a combination of upwards of 1500 static/active units, 40-50 complex triggers, MIST/CTLD/CSAR/JTAC scripts and at most 10 players at one time just to give you a performance/hardware/mission unit metric to compare. We rarely have any issues at all, especially with people joining that have higher end systems. Every once in a while someone will get a quick stutter here and there but we haven't been able to specifically say that those are server related issues vs. an issue with the clients internet connections. Edited August 27, 2024 by 104th_Money 1 Intel i9-13900k, Asus Z790-E Gaming Wi-fi 2 motherboard, 64gb Corsair Vengeance LPX DDR5-6400 RGB ram 2x32gb XMP2 profile, 4TB Crucial T700 PCIE 5.0 SSD internal, 2TB Crucial T700 PCIE 5.0 SSD internal, Asus ROG Strix OC GeForce RTX 4090, Corsair 7000X Case with 5 x 120mm side mounted intake fans and 3 x 140mm top mounted exhaust fans, 1 x 140mm rear mounted exhaust fans, front mounted Corsair H150i Elite Capellix 360mm liquid cooler w/Elite LCD with 6 x 120mm fans in 3 push, 3 pull intake configuration, 1 x 32" Samsung 3840x2160 display, 1x 32" Asus 2560x1440 display, TrackIR5 w/pro clip, Thrustmaster Warthog stick and throttle, CH Fighterstick Pro and Pebble Beach Velocity pedals.
cfrag Posted August 27, 2024 Posted August 27, 2024 I have reason to believe that there are more factors to consider when looking at a mission to determine it's performance (I'm interpreting the question as "what are the points to consider to make a mission perform well, and what are the good guidelines when designing a mission for performance") I think that one of the greatest contributor to performance drag is the map. The same mission that runs well in Caucasus can become marginal or even a bad experience in Sinai. Tied to the same factor now seems weather. I've read (but not confirmed myself) that active wind can noticeably increase memory requirements. So if your server is strapped for memory, down goes performance. This complex interplay of factors makes it very difficult to predict how a mission will behave. As a general rule of thumb: AI controlled units eat performance. Ai controlled units that engage each other eat lots of performance. An active AI count of 1000 units is pushing it, and remember that the underlying software (DCS itself) is really, really old. It's limited to DOS-era 4065 consecutive group allocations before it teeters on the brink to taking dive off the deep end. If you run 1500 units, a managed mission that respawns units dynamically is virtually guarantee to cross that 4095 line after a few hours. Add in map dependencies, memory constraints and player latency, and you end up with an unpredictable mess. I try to keep the active unit count well contained (below 400 if possible), and spawn units on-demand. 1
DD_Friar Posted August 27, 2024 Author Posted August 27, 2024 3 hours ago, cfrag said: I try to keep the active unit count well contained (below 400 if possible), and spawn units on-demand. Good tip thanks. Visit the Dangerdogz at www.dangerdogz.com. We are a group based on having fun (no command structure, no expectations of attendance, no formal skills required, that is not to say we can not get serious for special events, of which we have many). We play DCS and IL2 GBS. We have two groups one based in North America / Canada and one UK / Europe. Come check us out.
cfrag Posted August 27, 2024 Posted August 27, 2024 1 hour ago, DD_Friar said: Good tip Here's a tool I've cobbled together that counts the currently active numbers of groups and units very 120 seconds so I can monitor your mission's progress. Maybe it can help you too. Runnit once at mission start, and you are all set. stats = {} stats.verbose = true function stats.update() timer.scheduleFunction(stats.update, {}, timer.getTime() + 120) local coas = {0, 1, 2} local gCount, uCount = 0, 0 for idx, coa in pairs (coas) do local all = coalition.getGroups(coa) for idy, aGroup in pairs (all) do gCount = gCount + 1 uCount = uCount + aGroup:getSize() end end trigger.action.outText("::: stats: <" .. gCount .. "> groups, <" .. uCount .. "> units in mission.", 30) end if stats.verbose then timer.scheduleFunction(stats.update, {}, timer.getTime() + 5) end
DD_Friar Posted August 27, 2024 Author Posted August 27, 2024 55 minutes ago, cfrag said: Here's a tool I've cobbled together that counts the currently active numbers of groups and units Many thanks. I will add it to the Campaign I am developing to keep a check on things. I assume there would be no problem in increasing the frequency of it running?, to prevent the tool that gives you an indication on overhead and performance being a hit on overhead and performance? Visit the Dangerdogz at www.dangerdogz.com. We are a group based on having fun (no command structure, no expectations of attendance, no formal skills required, that is not to say we can not get serious for special events, of which we have many). We play DCS and IL2 GBS. We have two groups one based in North America / Canada and one UK / Europe. Come check us out.
cfrag Posted August 27, 2024 Posted August 27, 2024 53 minutes ago, DD_Friar said: no problem in increasing the frequency of it running? Not at all. I usually increase time factor during testing, and in that case, 120 seconds is more than ample. How many groups does your mission spawn in 2 minutes? I'd only narrow the interval to home in on spikes. IIRC, I used it with 5 minute intervals and larger on Expansion 1
Recommended Posts