meatball 25 Posted December 17, 2013 (edited) I'm working to improve the performance of one of my missions on a 'Dedicated' server I'm using occasionally to play / test with friends. Finding we're all having FPS issues, often times dropping down to the 10's/single digits which leads me to believe it's the server itself. I know my mission are pretty hefty and there's a lot going on, but was hoping someone could help me pick apart my .rpt file and see if I can clean up some issues before I attempt to rip the mission apart and add in Headless Client support. Here's some of the background info. Dedicated Server Specs: ASRock H77M Mobo, Core i5-3570K CPU (3.4-3.8GhzTurbo), 16 GB RAM, A3/Server Software installed on a RAID 5 HD Spindle Drive (Read speeds ~ 198 MB/s). Using the latest Dedicated Server software (updated to the Steam ID 233780 package) with Tophe's Server Tool. Have 50 MB Down/5 MB Up Internet service. Never have more than 8-10 people on the server. With my main mission (Altis Force Recon: West) I am using a caching script to cache the bulk of the AI running around, but there's still usually 100+ AI. I decided to run a test with some debug info and ran through about 45 minutes of a mission on my own. Tons of random errors about items missing, not found or empty, but I'm not 100% sure what to do about any of it or any of them are having any impact. Here's the .rpt file if anyone wants to poke through it. Any suggestions/info would be much appreciated! Edited December 17, 2013 by Meatball Share this post Link to post Share on other sites
eXpouk 10 Posted December 17, 2013 Which caching script are you using? Share this post Link to post Share on other sites
meatball 25 Posted December 17, 2013 (edited) Another thought I had, I have a _lot_ of triggers that are checking for various things. I know triggers check a bunch of times each second, but most of mine don't need to check that often. There any way to maybe lower the frequency of trigger checks? Maybe dropping most of them down to only check each second or two would ease things up as well. ---------- Post added at 18:33 ---------- Previous post was at 18:31 ---------- Which caching script are you using? 99% of my AI are created using the AI Spawn Script pack by spunFin, mainly with the Ambient Combat/Militarize scripts. I'm using spunFin's simpleCache script that comes in the pack to cache all the militarize units until the players are within 1250m of the target location.Also have it set so Ambient combat will not run and will stop anytime any of the militarize units are alive. To make sure dead units aren't an issue, I'm also running Aeroson's repetitiveCleanup script that nukes dead bodies/vehicles etc within 10-20 minutes. Edited December 17, 2013 by Meatball Share this post Link to post Share on other sites
meatball 25 Posted December 17, 2013 Well, I've figured out the root cause is the CPU. Even with server flags set to -cpuCount=4 and -exThreads=7 on the i5-3570K, Core 0 on the CPU is pegged at 100% while the other 3 CPU's hover around 5-10%. I may have to investigate using a Headless Client unless someone else knows of any other way to force the other cores to pick up some of the workload. Share this post Link to post Share on other sites
fusion13 11 Posted December 17, 2013 Hey, if you are pegged to 100% check for locked cores.. Share this post Link to post Share on other sites
meatball 25 Posted December 17, 2013 Can you explain what you mean by 'locked' cores? Only the first core is pegged at 100%, and I assume that's b/c Arma doesn't multithread. Share this post Link to post Share on other sites
fusion13 11 Posted December 17, 2013 In arma 3 All my cores share equal, But a locked core is a core that can be semi active whilest not begin able to got to high, Kinda limited, but it's not supposed be on at all you can check if you have cores locked by counting how many are in the Resource Monitor, (Task Manager > Performance > Resource Monitor > CPU) And in your case you should have "Core 0, Core 1, Core 2, Core 3" and if you don't you have locked cores. if you do display let me know we can work from there Share this post Link to post Share on other sites
meatball 25 Posted December 17, 2013 (edited) Yeah, I pulled my original info using Resource Monitor/CPU. Total CPU usuage bounces around 29-35%, Core 0 hovers right around 90-100% and the 3 other cores (1-3) hover below 5-10%. Edited December 17, 2013 by Meatball Share this post Link to post Share on other sites
fusion13 11 Posted December 17, 2013 Have you tried to add perams to server (-cpucount 4) Share this post Link to post Share on other sites
meatball 25 Posted December 17, 2013 (edited) Yes, tried with both -cpuCount=4 and -exThreads=7 Update: Looks like it might have been the combination of having both those params set. Using just -cpuCount=4 seems to spread the workload over all 4 cores. Edited December 17, 2013 by Meatball Share this post Link to post Share on other sites
Johnson11B2P 3 Posted December 18, 2013 (edited) In my missions I have trigger areas that will repair vehicles so instead of the server running the trigger I push the trigger to be local only on the player. That way the server saves it resources. If you have a clean up script I usually push that locally on players sometimes. I usually don't care if clients run a clean up script un-synchronized. Try looking at your missions and determine what can be run on the client and not the server then push them to the client. Also the number A.I. plays important role in determining server FPS, try not to have over 100 A.I. at one time. Edited December 18, 2013 by Johnson11B2P Added some more tips. Share this post Link to post Share on other sites