BL1P 35 Posted June 20, 2014 (edited) I made a small server benchmark mission based on amount of AI created and server fps. (initial script was by DarkWanderer) I think it would be fun to run a mini competition to get results back from server admins and the like. This is the mission AIServerBenchmark Download :- https://github.com/BL2P/AIServerBenchmark/archive/3.zip There is a folder in the zip with the mission pbo and there are the mission files in the zip too. It has a few params but if you run it without altering anything it will run untill it creates 1000ai or it reaches < 45fps on the server. Would be good if you can post a screen shot of your ASM monitor as well as the rpt settings stuff Ill get the ball rolling with our community server. http://i.imgur.com/a0kU8Ul.jpg Version 1.22 Stable. FPS LIMIT ON" SPLITAI OFF" HEADLESSON = false" FPSLIMIT = 45" TIME PER UNIT = 0.05" AI PER BATCH = 25" BATCH TIME = 7.5" MAX TOTAL AI = 1000" so 750ai created with fps limit on at 45 beat that :) Server specs :- Computer: MSI MS-7816 CPU: Intel Core i7-4770 (Haswell-DT, C0) 3400 MHz (34.00x100.0) @ 3700 MHz (37.00x100.0) Motherboard: MSI H87-G43 (MS-7816) Chipset: Intel H87 (Lynx Point) Memory: 32768 MBytes @ 800 MHz, 11.0-11-11-28 - 8192 MB PC12800 DDR3 SDRAM - Crucial Technology CT102464BA160B.C16 - 8192 MB PC12800 DDR3 SDRAM - Crucial Technology CT102464BA160B.C16 - 8192 MB PC12800 DDR3 SDRAM - Crucial Technology CT102464BA160B.C16 - 8192 MB PC12800 DDR3 SDRAM - Crucial Technology CT102464BA160B.C16 Graphics: Intel Haswell-DT GT2 - Integrated Graphics Controller [Micro-Star International] Intel HD Graphics 4600, 65472 KB Drive: INTEL SSDSC2BW240A4, 234.4 GB, Serial ATA 6Gb/s @ 6Gb/s Drive: INTEL SSDSC2BW240A4, 234.4 GB, Serial ATA 6Gb/s @ 6Gb/s Network: RealTek Semiconductor RTL8168/8111 PCI-E Gigabit Ethernet NIC OS: Microsoft Windows Server 2008 R2 Web Server (x64) Build 7601 The mission will also do things like run benchmarks on Server and HC with AI amounts and also split AI 50/50 between Server and HC. Edited June 24, 2014 by BL1P Share this post Link to post Share on other sites
kremator 1065 Posted June 20, 2014 Great idea. However I would reckon that most 'normal' servers may hit 45FPS at around 200AI. Also posting full ASM would be useful, as CPS (and FPSMin) are the real killers of fluidity! Share this post Link to post Share on other sites
BL1P 35 Posted June 20, 2014 Great idea. However I would reckon that most 'normal' servers may hit 45FPS at around 200AI. Also posting full ASM would be useful, as CPS (and FPSMin) are the real killers of fluidity! I did post a full ASM screen did I not ? Unsure if thats what you mean m8 ? Share this post Link to post Share on other sites
kremator 1065 Posted June 20, 2014 Sorry BL1P. Not allowed to view it at work (just in case it is pr0n!) Will test it on my dedi tonight. Share this post Link to post Share on other sites
BL1P 35 Posted June 20, 2014 Sorry BL1P. Not allowed to view it at work (just in case it is pr0n!)Will test it on my dedi tonight. Cool gona give the prof a go after the weekend. see what results that gives :) Share this post Link to post Share on other sites
terox 316 Posted June 20, 2014 If you are going to compare results, then I would suggest you will need to set some more parameters For example. No. of players must = X (Anything above 30 will defintely start seeing performance hits with 150-250 AI) Uptime: must be Result A: after a server restart Result B: after X Hours (Uptime does have an effect) [*]Hardware and connectivity must be defined in the reply posts etc Share this post Link to post Share on other sites
BL1P 35 Posted June 20, 2014 If you are going to compare results, then I would suggest you will need to set some more parametersFor example. No. of players must = X (Anything above 30 will defintely start seeing performance hits with 150-250 AI) Uptime: must be Result A: after a server restart Result B: after X Hours (Uptime does have an effect) [*]Hardware and connectivity must be defined in the reply posts etc The mission to be used only has one slot. So player count isn't a problem. The mission is testing how many AI your server can get upto before your server goes below and stays below 45fps. not how many players you can have connected. Hardware should be posted but this isn't a prize competition its for fun and to collect results people are getting and talk about that. so I wont be setting things in stone that people must follow :) Uptime is upto the person running the test if they want to run the server for 24hours then run the test mission thats upto them :) I thought it would be nice to have a benchmark for ai amounts and this seemed like a stable enough mission to use. Maybe someone will come up with some better scripting than I used. thats fine Im no scripting guru. just some fat gamer who does the odd bit of script. Share this post Link to post Share on other sites
Sari 18 Posted June 20, 2014 (edited) My PC: Stock v1.22 dedicated server exe with -name=server -config=Server\server.cfg -noSound -maxmem=2047 -mod=@ASM. Got to 675 AI before dipping below 45. However it didn't stop until it hit 775. RPT 2014/06/20, 17:06:12 "===========AI SERVER TEST SETTINGS===========" 2014/06/20, 17:06:12 "**** FPS LIMIT ON" 2014/06/20, 17:06:12 "**** SPLITAI OFF" 2014/06/20, 17:06:12 "**** HEADLESSON = false" 2014/06/20, 17:06:12 "**** FPSLIMIT = 45" 2014/06/20, 17:06:12 "**** TIME PER UNIT = 0.05" 2014/06/20, 17:06:12 "**** AI PER BATCH = 25" 2014/06/20, 17:06:12 "**** BATCH TIME = 7.5" 2014/06/20, 17:06:12 "**** MAX TOTAL AI = 1000" 2014/06/20, 17:06:12 "=============================================" 2014/06/20, 17:06:22 "** Fps = 45 ::: FpsMin = 43 ::: time = 11 ::: _aicount = 25" 2014/06/20, 17:06:32 "** Fps = 45 ::: FpsMin = 43 ::: time = 21 ::: _aicount = 50" 2014/06/20, 17:06:42 "** Fps = 46 ::: FpsMin = 43 ::: time = 31 ::: _aicount = 75" 2014/06/20, 17:06:53 "** Fps = 45 ::: FpsMin = 42 ::: time = 42 ::: _aicount = 100" 2014/06/20, 17:07:03 "** Fps = 45 ::: FpsMin = 40 ::: time = 52 ::: _aicount = 125" 2014/06/20, 17:07:13 "** Fps = 46 ::: FpsMin = 43 ::: time = 63 ::: _aicount = 150" 2014/06/20, 17:07:24 "** Fps = 46 ::: FpsMin = 37 ::: time = 73 ::: _aicount = 175" 2014/06/20, 17:07:34 "** Fps = 46 ::: FpsMin = 43 ::: time = 83 ::: _aicount = 200" 2014/06/20, 17:07:45 "** Fps = 46 ::: FpsMin = 40 ::: time = 94 ::: _aicount = 225" 2014/06/20, 17:07:55 "** Fps = 46 ::: FpsMin = 42 ::: time = 104 ::: _aicount = 250" 2014/06/20, 17:08:06 "** Fps = 46 ::: FpsMin = 40 ::: time = 115 ::: _aicount = 275" 2014/06/20, 17:08:16 "** Fps = 47 ::: FpsMin = 43 ::: time = 125 ::: _aicount = 300" 2014/06/20, 17:08:27 "** Fps = 48 ::: FpsMin = 43 ::: time = 136 ::: _aicount = 325" 2014/06/20, 17:08:37 "** Fps = 48 ::: FpsMin = 42 ::: time = 146 ::: _aicount = 350" 2014/06/20, 17:08:48 "** Fps = 48 ::: FpsMin = 43 ::: time = 157 ::: _aicount = 375" 2014/06/20, 17:08:58 "** Fps = 48 ::: FpsMin = 45 ::: time = 167 ::: _aicount = 400" 2014/06/20, 17:09:09 "** Fps = 47 ::: FpsMin = 38 ::: time = 178 ::: _aicount = 425" 2014/06/20, 17:09:19 "** Fps = 47 ::: FpsMin = 38 ::: time = 189 ::: _aicount = 450" 2014/06/20, 17:09:30 "** Fps = 48 ::: FpsMin = 45 ::: time = 199 ::: _aicount = 475" 2014/06/20, 17:09:41 "** Fps = 48 ::: FpsMin = 40 ::: time = 210 ::: _aicount = 500" 2014/06/20, 17:09:51 "** Fps = 46 ::: FpsMin = 31 ::: time = 220 ::: _aicount = 525" 2014/06/20, 17:10:02 "** Fps = 47 ::: FpsMin = 36 ::: time = 231 ::: _aicount = 550" 2014/06/20, 17:10:13 "** Fps = 47 ::: FpsMin = 45 ::: time = 242 ::: _aicount = 575" 2014/06/20, 17:10:23 "** Fps = 47 ::: FpsMin = 37 ::: time = 253 ::: _aicount = 600" 2014/06/20, 17:10:34 "** Fps = 48 ::: FpsMin = 45 ::: time = 263 ::: _aicount = 625" 2014/06/20, 17:10:45 "** Fps = 46 ::: FpsMin = 31 ::: time = 274 ::: _aicount = 650" 2014/06/20, 17:10:56 "** Fps = 42 ::: FpsMin = 28 ::: time = 285 ::: _aicount = 675" 2014/06/20, 17:11:07 "** Fps = 42 ::: FpsMin = 29 ::: time = 296 ::: _aicount = 700" 2014/06/20, 17:11:17 "** Fps = 44 ::: FpsMin = 32 ::: time = 306 ::: _aicount = 725" 2014/06/20, 17:11:33 "** Fps = 38 ::: FpsMin = 29 ::: time = 322 ::: _aicount = 750" 2014/06/20, 17:12:41 "** Fps = 37 ::: FpsMin = 24 ::: time = 390 ::: _aicount = 775" ASM Specs CPU: AMD FX8350 4.0GHz @4.5GHz Motherboard: Asus Crosshair V Formula-Z Chipest: AMD 990Fx Memory: 2x4Gb Crucial Ballistix Elite 1866MHz @ 2000MHz 11-11-11-24 Drive: Crucial M4 256GB SSD (Windows + Arma) OS: Windows 8.1 Pro x64 Our Dedi server: V1.22 perf 1 dedicated server exe with start /wait /AboveNormal Arma3server.exe -mod=@ASM -profiles=server -name=server -config=Server\Server.cfg -cfg=Server\Basic.cfg -noSound -world=empty -cpuCount=4 -enableHT -maxmem=3071 -port=2303. Got to 725 AI before dipping below 45. However again it didn't stop until it hit 775 (note the dip). RPT 2014/06/20, 23:43:15 "===========AI SERVER TEST SETTINGS===========" 2014/06/20, 23:43:15 "**** FPS LIMIT ON" 2014/06/20, 23:43:15 "**** SPLITAI OFF" 2014/06/20, 23:43:15 "**** HEADLESSON = false" 2014/06/20, 23:43:15 "**** FPSLIMIT = 45" 2014/06/20, 23:43:15 "**** TIME PER UNIT = 0.05" 2014/06/20, 23:43:15 "**** AI PER BATCH = 25" 2014/06/20, 23:43:15 "**** BATCH TIME = 7.5" 2014/06/20, 23:43:15 "**** MAX TOTAL AI = 1000" 2014/06/20, 23:43:15 "=============================================" 2014/06/20, 23:43:24 "** Fps = 50 ::: FpsMin = 50 ::: time = 11 ::: _aicount = 25" 2014/06/20, 23:43:34 "** Fps = 50 ::: FpsMin = 48 ::: time = 21 ::: _aicount = 50" 2014/06/20, 23:43:45 "** Fps = 50 ::: FpsMin = 50 ::: time = 31 ::: _aicount = 75" 2014/06/20, 23:43:55 "** Fps = 50 ::: FpsMin = 48 ::: time = 41 ::: _aicount = 100" 2014/06/20, 23:44:05 "** Fps = 50 ::: FpsMin = 48 ::: time = 51 ::: _aicount = 125" 2014/06/20, 23:44:15 "** Fps = 50 ::: FpsMin = 50 ::: time = 61 ::: _aicount = 150" 2014/06/20, 23:44:25 "** Fps = 50 ::: FpsMin = 48 ::: time = 71 ::: _aicount = 175" 2014/06/20, 23:44:35 "** Fps = 50 ::: FpsMin = 42 ::: time = 81 ::: _aicount = 200" 2014/06/20, 23:44:45 "** Fps = 50 ::: FpsMin = 45 ::: time = 92 ::: _aicount = 225" 2014/06/20, 23:44:56 "** Fps = 50 ::: FpsMin = 48 ::: time = 102 ::: _aicount = 250" 2014/06/20, 23:45:06 "** Fps = 50 ::: FpsMin = 42 ::: time = 112 ::: _aicount = 275" 2014/06/20, 23:45:16 "** Fps = 50 ::: FpsMin = 48 ::: time = 122 ::: _aicount = 300" 2014/06/20, 23:45:26 "** Fps = 50 ::: FpsMin = 48 ::: time = 133 ::: _aicount = 325" 2014/06/20, 23:45:37 "** Fps = 50 ::: FpsMin = 45 ::: time = 143 ::: _aicount = 350" 2014/06/20, 23:45:47 "** Fps = 50 ::: FpsMin = 43 ::: time = 153 ::: _aicount = 375" 2014/06/20, 23:45:57 "** Fps = 50 ::: FpsMin = 48 ::: time = 164 ::: _aicount = 400" 2014/06/20, 23:46:08 "** Fps = 50 ::: FpsMin = 45 ::: time = 174 ::: _aicount = 425" 2014/06/20, 23:46:18 "** Fps = 50 ::: FpsMin = 48 ::: time = 184 ::: _aicount = 450" 2014/06/20, 23:46:29 "** Fps = 50 ::: FpsMin = 38 ::: time = 195 ::: _aicount = 475" 2014/06/20, 23:46:39 "** Fps = 50 ::: FpsMin = 48 ::: time = 205 ::: _aicount = 500" 2014/06/20, 23:46:49 "** Fps = 50 ::: FpsMin = 48 ::: time = 216 ::: _aicount = 525" 2014/06/20, 23:47:00 "** Fps = 50 ::: FpsMin = 43 ::: time = 226 ::: _aicount = 550" 2014/06/20, 23:47:11 "** Fps = 50 ::: FpsMin = 48 ::: time = 237 ::: _aicount = 575" 2014/06/20, 23:47:21 "** Fps = 49 ::: FpsMin = 38 ::: time = 247 ::: _aicount = 600" 2014/06/20, 23:47:32 "** Fps = 48 ::: FpsMin = 37 ::: time = 258 ::: _aicount = 625" 2014/06/20, 23:47:42 "** Fps = 49 ::: FpsMin = 42 ::: time = 269 ::: _aicount = 650" 2014/06/20, 23:47:53 "** Fps = 48 ::: FpsMin = 40 ::: time = 279 ::: _aicount = 675" 2014/06/20, 23:48:04 "** Fps = 47 ::: FpsMin = 34 ::: time = 290 ::: _aicount = 700" 2014/06/20, 23:48:14 "** Fps = 48 ::: FpsMin = 45 ::: time = 300 ::: _aicount = 725" 2014/06/20, 23:48:25 "** Fps = 43 ::: FpsMin = 33 ::: time = 311 ::: _aicount = 750" 2014/06/20, 23:48:36 "** Fps = 25 ::: FpsMin = 4 ::: time = 322 ::: _aicount = 775" ASM *NB, the huge spike at the end was me opening up cpuz, ignore it. Specs CPU: Intel Xeon E3-1230 @ 3.2-3.6GHz Motherboard: ProLiant DL120 G7 Chipest: Intel C200 series Memory: 2x4Gb 1333MHz 9-9-9-24, brand unknown Drive: 2x1Tb raid 1, brand unknown OS: Windows 2008 Web R2 Edited June 20, 2014 by Sari added dedi server results Share this post Link to post Share on other sites
BL1P 35 Posted June 20, 2014 @sari Pritty cool how you start off at 45fps and gradually increase! as ai are added then slowly decrease as it gets near the end. What .exe did you use on your pc the Server.exe or client .exe ? also what start up did you use if it was server any -cpucount lines or anything ? we use a .bat to launch the server start /high /W arma3server.exe -port=2302 -config=Server_HC\server.cfg -cfg=Server_HC\ArmA3_test.cfg -profiles=Server_HC -name=Server_HC -enableHT and the two things we use in there are /high and -enableHT ---------- Post added at 06:38 PM ---------- Previous post was at 05:59 PM ---------- Following your example Sari I ran the test on my Home PC as well :P I only got upto 450ai on my Home pc before it went and stayed below 45 This is my startup .bat for my home pc @echo off echo Launching BL1PPYS Arma3Server... start "" /wait /high "C:\Program Files (x86)\Steam\steamapps\common\Arma 3\arma3server.exe" -port=2302 "-config=D:\bl1pserver\bl1p\BL1P_config.cfg" "-cfg=D:\bl1pserver\bl1p\BL1P_basic.cfg" "-profiles=D:\bl1pserver\bl1p" -name=bl1pserver -mod=@ASM ASM http://i.imgur.com/4RM7YaW.jpg RPT. 18:02:57 "===========AI SERVER TEST SETTINGS===========" 18:02:57 "**** FPS LIMIT ON" 18:02:57 "**** SPLITAI OFF" 18:02:57 "**** HEADLESSON = false" 18:02:57 "**** FPSLIMIT = 45" 18:02:57 "**** TIME PER UNIT = 0.05" 18:02:57 "**** AI PER BATCH = 25" 18:02:57 "**** BATCH TIME = 7.5" 18:02:57 "**** MAX TOTAL AI = 1000" 18:02:57 "=============================================" 18:03:07 "** Fps = 50 ::: FpsMin = 48 ::: time = 11 ::: _aicount = 25" 18:03:17 "** Fps = 50 ::: FpsMin = 48 ::: time = 21 ::: _aicount = 50" 18:03:27 "** Fps = 50 ::: FpsMin = 48 ::: time = 31 ::: _aicount = 75" 18:03:38 "** Fps = 50 ::: FpsMin = 48 ::: time = 42 ::: _aicount = 100" 18:03:48 "** Fps = 50 ::: FpsMin = 48 ::: time = 52 ::: _aicount = 125" 18:03:58 "** Fps = 50 ::: FpsMin = 45 ::: time = 62 ::: _aicount = 150" 18:04:09 "** Fps = 50 ::: FpsMin = 42 ::: time = 73 ::: _aicount = 175" 18:04:19 "** Fps = 50 ::: FpsMin = 42 ::: time = 83 ::: _aicount = 200" 18:04:30 "** Fps = 50 ::: FpsMin = 38 ::: time = 94 ::: _aicount = 225" 18:04:40 "** Fps = 50 ::: FpsMin = 45 ::: time = 104 ::: _aicount = 250" 18:04:51 "** Fps = 50 ::: FpsMin = 43 ::: time = 115 ::: _aicount = 275" 18:05:01 "** Fps = 50 ::: FpsMin = 40 ::: time = 125 ::: _aicount = 300" 18:05:12 "** Fps = 50 ::: FpsMin = 42 ::: time = 136 ::: _aicount = 325" 18:05:23 "** Fps = 48 ::: FpsMin = 37 ::: time = 147 ::: _aicount = 350" 18:05:33 "** Fps = 48 ::: FpsMin = 30 ::: time = 157 ::: _aicount = 375" 18:05:44 "** Fps = 48 ::: FpsMin = 45 ::: time = 168 ::: _aicount = 400" 18:05:55 "** Fps = 44 ::: FpsMin = 42 ::: time = 179 ::: _aicount = 425" 18:06:10 "** Fps = 38 ::: FpsMin = 26 ::: time = 194 ::: _aicount = 450" System Specs AMD Phenom X6 1090T @3.8 (H2o Cooled) 16g DDR3 System Ram 2x ATI 6950s (XFIRE) AGILITY3 60g SSD (OS) Sam Evo 120g SSD (GAMES) 1TB HDD storage (PORN) ps. How do I get the image to appear in the spoiler like you did ? for me it just shows a link to the image ? Share this post Link to post Share on other sites
fred41 42 Posted June 20, 2014 @BL1BP, since this testmission starts to be my favorite (headless) server benchmark (because it is simple and fast to use), i have some suggestions to improve the precision of the result and perhaps to decrease the benchmark time per run. I think it would make sense, to start with a faster unit spawn rate and to significantly slow down in the near of FPSLIMIT. Additional a switch from batch (group) granularity to single unit granularity for the result, would be better for fine tuning purposes. Perhaps a smoothing avarage for this jumping FPS value could increase the precision even more. Perfectionist greets, Fred41 :) Share this post Link to post Share on other sites
Sari 18 Posted June 20, 2014 (edited) I used the v1.22 dedi server package (no perf exes) with -name=server -config=Server\server.cfg -noSound -maxmem=2047 -mod=@ASM I dont have it particularly geared towards performance as i only use it for testing stuff every now and then. I suppose its worth noting that once i set the mission off, i disconnected my client so the server exe could have free reign of the cpu. Edited June 20, 2014 by Sari Share this post Link to post Share on other sites
BL1P 35 Posted June 20, 2014 (edited) @BL1BP,since this testmission starts to be my favorite (headless) server benchmark (because it is simple and fast to use), i have some suggestions to improve the precision of the result and perhaps to decrease the benchmark time per run. I think it would make sense, to start with a faster unit spawn rate and to significantly slow down in the near of FPSLIMIT. Additional a switch from batch (group) granularity to single unit granularity for the result, would be better for fine tuning purposes. Perhaps a smoothing avarage for this jumping FPS value could increase the precision even more. Perfectionist greets, Fred41 :) Although I am very pleased you like this benchmark m8. I have some counters to your suggestions :( The reason i have such a large time between batches spawning is based on the responses Dwarden and a dev gave in similar thread that the AI need time to run certain scripts and path finding things. Spawning the AI too fast will give a very detrimental effect on the cps and fps because of the exponential blablabla :) I prefer the batch to single unit but... I am open to a reason why I should use single unit over batch and if a dev gives a good reason ill definitely swap the way the script works. the reason i like batch over single is that each group would need time and using batch lowers the overall time. I can do a single unit version with no problems but not over the weekend :) as im playing and drinking now till monday :) Just a note. I am really pleased your taking an interest in this Fred as I like all the work you do any suggestions are more than welcome. I am just a stubborn old bastard that needs shit explaining too me before ill do it :) Edited June 20, 2014 by BL1P Share this post Link to post Share on other sites
fred41 42 Posted June 20, 2014 (edited) ... i am just a stubborn old bastard too, but probably this are best conditions, to create together the simplest server benchmark ever :) What i meant is just this: The very dynamical FPS value together with the high (batch) granularity, make the result a bit unprecise. For example, i got 625 units as result in the first run, and i got 650 in the second run (with all the same conditions). This is a difference of 4%, to much for precise tuning, i think. I am sure, it is possible to have a precision <1% without much effort. And you can still use batches of any size, you just have to better control the unit spawn timing inside a batch. Better i give you a code example, basically something like this (based on your code): //--- run on server if headless off if (!HEADLESSON && isServer && !SPLITAION) then { //--- do some stuff _script = [] spawn { _i = 0; _aicount = 0; _timer = CREATETIME / 100; diag_log "===========AI SERVER TEST SETTINGS==========="; if (ENABLEFPSLIMIT > 0) then {diag_log "**** FPS LIMIT ON";}else{diag_log "**** FPS LIMIT OFF";}; if (SPLITAI > 0) then {diag_log "**** SPLITAI ON";}else{diag_log "**** SPLITAI OFF";}; diag_log format ["**** HEADLESSON = %1",HEADLESSON]; diag_log format ["**** FPSLIMIT = %1",FPSLIMIT]; diag_log format ["**** TIME PER UNIT = %1",_timer]; diag_log format ["**** AI PER BATCH = %1",AIPERBATCH]; diag_log format ["**** BATCH TIME = %1",BATCHTIME]; diag_log format ["**** MAX TOTAL AI = %1",TOTALAI]; diag_log "============================================="; _grp = createGroup west; while {true} do { // slows down near FPSLIMIT endvalue if (ENABLEFPSLIMIT > 0) then { sleep (abs(50.0 - diag_fps) * abs(50.0 - diag_fps) / (50.0 - FPSLIMIT)); // slows down near endvalue waituntil {sleep 0.1; diag_fps > FPSLIMIT}; }; sleep (_timer); helper setPos [(getPos helper select 0)+0.3, (getPos helper select 1)+1,getPos helper select 2]; _unit = "B_recon_F" createUnit [getPos helper, _grp]; _i = _i + 1; _aicount = _aicount + 1; if (_i > (AIPERBATCH - 1)) then { _i = 0; _grp = createGroup west; sleep (BATCHTIME); diag_log format ["** Fps = %1 ::: FpsMin = %2 ::: time = %3 ::: _aicount = %4",round diag_fps,round diag_fpsmin,round time,_aicount]; }; if (_aicount >= TOTALAI) exitwith { diag_log format ["======== AI CREATION STOPPED @ %1 AI ========",_aicount]; while {true} do { diag_log format ["---- fps = %1 ::: fpsmin = %2 ::: loop %3sec ::: _aicount = %4",round diag_fps,round diag_fpsmin,(BATCHTIME),_aicount]; sleep (10); }; }; }; }; }; Far from being ready and FPS smoothing not included. Edited June 20, 2014 by Fred41 Share this post Link to post Share on other sites
kremator 1065 Posted June 20, 2014 This is not running properly for me. All other missions run fine (and show up on ASM) on my dedi. This mission does nothing. I spawn OK in the little room, but nothing seems to be running on ASM..... even PL stays at 0 !! Share this post Link to post Share on other sites
Sari 18 Posted June 20, 2014 Added dedi server results to my first post. Share this post Link to post Share on other sites
BL1P 35 Posted June 20, 2014 (edited) wow ;) sleep (abs(50.0 - diag_fps) * abs(50.0 - diag_fps) / (50.0 - FPSLIMIT)) I have no idea wtf that does :) It looks like its some sleep value taken from an absolute value of (50 - the servers fps) * (50-server fps) /(50-server fps) ? Im crap at this m8 I might need help sorry :( isnt 50-server fps a bad thing as 50-45 is 5 ? so 5 * 5 / 5 = 5 ? ---------- Post added at 12:51 AM ---------- Previous post was at 12:39 AM ---------- This is not running properly for me. All other missions run fine (and show up on ASM) on my dedi. This mission does nothing. I spawn OK in the little room, but nothing seems to be running on ASM..... even PL stays at 0 !! hello m8. the only thing i can think of which might stop the mission from working is the server or hc is already below 45fps. To test that i would turn off the fps limiter in params and run it like that with just an AI amount limit Edited June 20, 2014 by BL1P Share this post Link to post Share on other sites
fred41 42 Posted June 21, 2014 wow ;)sleep (abs(50.0 - diag_fps) * abs(50.0 - diag_fps) / (50.0 - FPSLIMIT)) I have no idea wtf that does :) It looks like its some sleep value taken from an absolute value of (50 - the servers fps) * (50-server fps) /(50-server fps) ? Im crap at this m8 I might need help sorry :( isnt 50-server fps a bad thing as 50-45 is 5 ? so 5 * 5 / 5 = 5 ? ... it just delays unit creation more, if diag_fps is close to FPSLIMIT ... Yes, in this example you would get 0.0sec delay at diag_fps = 50.0 and 5.0sec additional delay at diag_fps = FPSLIMIT. This is probably better: _AdditionalUnitCreationDelay = ((abs(FPSMAX - diag_fps) / (FPSMAX - FPSLIMIT))^2) * MAXDELAY; sleep(_AdditionalUnitCreationDelay); Where FPSMAX = 50.0 and MAXDELAY is the delay in seconds, you wish at FPSLIMIT. Just try it out :) 1 Share this post Link to post Share on other sites
BL1P 35 Posted June 21, 2014 I have a cunning plan ! So... the mission is on Github now and you are a collaborator :) Share this post Link to post Share on other sites
fred41 42 Posted June 21, 2014 I have a cunning plan !So... the mission is on Github now and you are a collaborator :) ... this is a very good plan :cool: Is there a link to the github repository, for collaborators, like me? Share this post Link to post Share on other sites
BL1P 35 Posted June 21, 2014 ... this is a very good plan :cool:Is there a link to the github repository, for collaborators, like me? https://github.com/BL2P/SeverAIBenchmark Fluit is currently writing a function to set log levels on the .rpt reports so that server admins can turn on or off the reports or lower the amount of reports. Share this post Link to post Share on other sites
Fluit 13 Posted June 21, 2014 (edited) https://github.com/BL2P/SeverAIBenchmarkFluit is currently writing a function to set log levels on the .rpt reports so that server admins can turn on or off the reports or lower the amount of reports. Reason for this is that writing to the RPT can slightly affect server performance. With this we can reduce the disk I/O while running the benchmark. Edited June 21, 2014 by Fluit Share this post Link to post Share on other sites
BL1P 35 Posted June 24, 2014 Updated first post with the new version. New version has some small value changes in it from me. A diag_log function by Fluit which allows admins to set the log level so as to be able to set the amout of reports you get sent to the rpt. Also has an fsm by Fred41 which will smooth fps detection by the scripts and increase wait times for each unit creation the closer you get to the fps Limit. https://github.com/BL2P/AIServerBenchmark/archive/3.zip Happy Benchmarking. Share this post Link to post Share on other sites
Grumpy Old Man 3546 Posted June 26, 2014 _AdditionalUnitCreationDelay = ((abs(FPSMAX - diag_fps) / (FPSMAX - FPSLIMIT))^2) * MAXDELAY; sleep(_AdditionalUnitCreationDelay); Thanks for sharing this, added it to all my spawning scripts, with the right values you barely notice anything going on in the background. Much appreciated! Share this post Link to post Share on other sites
fred41 42 Posted June 28, 2014 ... nice, i didn't expect, that someone can use it for anything else :) Share this post Link to post Share on other sites
m0nkey 111 Posted July 4, 2014 lol, Grumpy tipped me off to this. It works a treat really. I was pretty careful in how many units were spawned at once anyway, and could always see a tiny stutter when they did spawn. With this, its really hard to tell when they spawn. I can only imagine it works better with a higher server count/load. Just out of curiosity, what are the settings anyone else has used? 15 fps with 5 seconds is what I started with. Share this post Link to post Share on other sites