Jump to content
CHB68

What limits the server?

Recommended Posts

So Dwarden, what would be an ideal rate to spawn AI at then? (rough ballpark is good enough) I mean how many units at how much of a break.

Share this post


Link to post
Share on other sites

I am printing this thread for safe keeping. As far as I am concerned this is smoking gun proof that BIS really don't have a clue and are actively avoiding these issues.

So many people jump in to derail the discussion and belittle the Op, but as bore out by the Op in testing we can see clear issues. Handle leaks? 10 minutes wait times for spawning in one group of AI? Is this the real arma requirement? Why has no BIS dev been up front and honest and told us before if you want to spawn a group of AI you better wait 10 minutes before you spawn another one? Never that's when.

Why are BIS not doing these sorts of performance tests? Beggars belief that an unpaid community volunteer can contribute more to this discussion with actual numbers and evidence than what BIS has shown in years.

If I am wrong why don't BIS prove us all wrong and show us how it works. Show us a MP CO-OP mission with more than 100 AI groups and 10 FPS.

Share this post


Link to post
Share on other sites

I can understand what dwarden is asking though, he's purely trying to determine if c 500 is the real ai limit or the rate of spawn is too high for init on each unit to complete properly causing a backlog which manifests itself as cpu load issues around the 500 spawned unit mark.

BIS has always utilised community support to identify issues, there are simply more cummunity members than bis staff so greater chance of them noticing issues. However I agree that recently their direction has been puzzling, we don't need zues or 100 tiny tweaks to vest armour values. We also don't need more content. The single most useful and fun thing BIS could bring to the table now is more server & client fps.

---------- Post added at 02:18 PM ---------- Previous post was at 02:13 PM ----------

Also dark wanderer or Dwarden (it is ur job after all :p ) it would be interesting if you could get to the 500 mark and then stop spawning anymore and just leave it for a while to see if the fps recovers. If it does then it could maybe be a backlog init issue but if it doesn't then potentially it points to a more serious unrelated issue.

Have you tried connecting another client around the 500 mark to see what impact that has?

---------- Post added at 02:19 PM ---------- Previous post was at 02:18 PM ----------

Also dark wanderer where your spawned units given waypoints or are they just standing still?

Share this post


Link to post
Share on other sites

I'm not if it's been told already:

It's an behaviour of MS Windows since ages, to share processes (single-thread-processes too) all around all available processors/cores, physicals and logicals (Hyperthreading).

Pls try to force Windows to run the arma3server.exe on two physical cores. It's been told, that this .exe was optimized for a two-core-system. So you see the CPU-load.

Now go to the taskmanager, on Processes-tab right-click the arma3server.exe and "Set Affinty" to two of the first four cores of your Core i7.

(I am actually unsure how Windows sorts the cores, maybe the first four are the physical ones and last fours the logical ones, generated via Hyperthreading. But maybe the first is physical and the second its logical counterpart, I'm not sure.)

This will force Windows only to use two cores and avoid some time for switching Caches and copying data.

Next u will need to Set the task-priority at least to "High" (Windows will ask u again), so u force Windows to compute all other processes on the rest of the processors/cores.

Pls test again and show us the results, would be really interesting.

Maybe u can safe a few FPS this way.

Best regards,

SmashK.

Share this post


Link to post
Share on other sites

There is another thing you can try. Network performance tuning.

https://community.bistudio.com/wiki/basic.cfg

Plenty of parameters to play with here.

MinBandwidth=<bottom_limit>;

Bandwidth the server is guaranteed to have (in bps).

This value helps server to estimate bandwidth available.

Increasing it to too optimistic values can increase lag and CPU load, as too many messages will be sent but discarded.

Default: 131072

Just some advice network speed degrades depending on what medium it travels through to how often it is re-routed by routers.

You've got ALL the tools you'll ever need to make a brilliant server. Just need to think it through if you value the mission enough.

Edited by Polymath820

Share this post


Link to post
Share on other sites

Ran some tests on my home server using a modified version of DarkWanderer`s spawning script.

my home rig is weak based on most server specs :-

AMD Athlon IIx4 630 @2.80ghz

8 gig ram

win7 home

test1 - 2 cores for Server 0.05 between each unit spawned 25 units in a batch 30sec between each batch 400 units max limit:-

http://i.imgur.com/5UBp4QS.png (309 kB)

test2 - 4 cores on Server 0.05 between each unit spawned 25 units in a batch 30sec between each batch 400 units max limit:-

http://i.imgur.com/hWolJfu.jpg (308 kB)

test3 - 4 cores on Server 0.1 between each unit spawned 25 units in a batch 60sec between each batch 400 units max limit:-

http://i.imgur.com/yEjNhQK.jpg (328 kB)

test4 - 2 cores for Server 2 cores for headless 0.05 between each unit spawned 25 units in a batch 30sec between each batch 400 units max limit:-

http://i.imgur.com/y8yv6VT.jpg (336 kB)

test5 - 4 cores for Server 4 cores for Headless 0.05 between each unit spawned 25 units in a batch 30sec between each batch 400 units max limit:-

http://i.imgur.com/fm7kznB.jpg (317 kB)

Notes on what I have noticed at 200 units server is still running at 50fps and 48-40cps once i pass the 200 units server will steadily decrease performance per unit placed until it bottoms out at 4-6fps and 4-6cps at around 400+ units.

Increased times on the spawns has no reall effect on what happens to the fps it will still start dropping at 200 units and will still bottom out at 400+ and will not recover no matter how long its left

(tested this by leaving it at 400 units for 1 hour and fps did not increase)

scripts used :-

description.ext

enableSaving = [false, false];
onLoadName = "AI SERVER TEST";
joinUnassigned = false;

class Params
{
class CREATETIME
{
	title = "EACH UNIT CREATE TIME";
	values[] = {200,100,50,10,5,1};
	texts[] = {"2","1","0.5","0.1","0.05","0.01"};
	default = 5;
};

class BATCHTIME
{
	title = "BATCH TIME";
	values[] = {15,30,60,90,120,150,180,210,240,270,300};
	texts[] = {"15s","30s","1m","1m30s","2m","2m30s","3m","3m30s","4m","4m30s","5m"};
	default = 30;
};

class AIPERBATCH
{
	title = "AI CREATED PER BATCH";
	values[] = {5,10,15,20,25,30,35,40,45,50};
	texts[] = {5,10,15,20,25,30,35,40,45,50};
	default = 25;
};

class TOTALAI
{
	title = "MAX AI CREATED";
	values[] = {50,100,150,200,250,300,350,400,450,500};
	texts[] = {50,100,150,200,250,300,350,400,450,500};
	default = 400;
};

class HEADLESS
{
	title = "ENABLE HEADLESS MODE";
	values[] = {1,0};
	texts[] = {"Enabled","Disabled"};
	default = 0;
};

};

init.sqf

if (isServer || !hasInterface) then 
{
// Wait until player or Headless is initialized
if (!isServer) then
	{
		waitUntil {!isNull player && isPlayer player};
	};


	//--- Sort the params
	for '_i' from 0 to (count (missionConfigFile >> "Params"))-1 do 
		{
			_paramName = (configName ((missionConfigFile >> "Params") select _i));
			_value = if (isMultiplayer) then {paramsArray select _i} else {getNumber (missionConfigFile >> "Params" >> _paramName >> "default")};
			missionNamespace setVariable [_paramName, _value];
		};
	sleep 1;
	//--- check if headless param is on or off
	//HEADLESSON = false;
	if (HEADLESS == 1) then {HEADLESSON = true} else {HEADLESSON = false};
	publicVariable "HEADLESSON";

//--- run on Headless if headless on	
if (HEADLESSON && !isServer && !hasinterface) then {
	//--- do some stuff
	_script = [] spawn {
		_i = 0;
		_aicount = 0;
		_timer = CREATETIME / 100;
		diag_log "===========AI HEADLESS TEST SETTINGS===========";
		diag_log format ["**** HEADLESSON = %1",HEADLESSON];
		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 {
			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 / 2);
				diag_log format ["** Fps = %1 ::: FpsMin = %2 ::: time = %3 ::: _aicount = %4",round diag_fps,round diag_fpsmin,round time,_aicount];
				sleep (BATCHTIME / 2);
			};
			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 / 2),_aicount];
					sleep (BATCHTIME / 2);
				};
			};
		};
	};
};

//--- run on server if headless off
if (!HEADLESSON && isServer) then {
	//--- do some stuff
	_script = [] spawn {
		_i = 0;
		_aicount = 0;
		//_timer = (BATCHTIME / AIPERBATCH / 4);
		_timer = CREATETIME / 100;
		diag_log "===========AI SERVER TEST SETTINGS===========";
		diag_log format ["**** HEADLESSON = %1",HEADLESSON];
		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 {
			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 / 2);
				diag_log format ["** Fps = %1 ::: FpsMin = %2 ::: time = %3 ::: _aicount = %4",round diag_fps,round diag_fpsmin,round time,_aicount];
				sleep (BATCHTIME / 2);
			};
			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 / 2),_aicount];
					sleep (BATCHTIME / 2);
				};
			};
		};
	};
};
} else {diag_log "I am not the server OR the Headless";}; 

The mission / mission used :-

Here are two mission using that script set for the tests I used AItest.Stratis.pbo

AItest2.Stratis.pbo has a param that will stop creating units until the servers FPS is above the amount you specified in params quite fun to see how many units you can get your server to run with a 45fps limit on creation

http://www.gamefront.com/files/24297360/Aitest_Missions.rar

Share this post


Link to post
Share on other sites

I was right network parameters can severely effect frame-rate it appears you need to adjust the network bandwith etc according to your servers upload capacity. Now AI with a headless client running you will need A LOT of bandwidth allocated. Why do I say this? Really it's common sense, even though scripts / AI run on the server or client side you still need to send aggregated message updates for each unit or each script more units means more bandwidth if the AI and scripts are consuming more bandwidth than is available to the player it results in the servers FPS(tick) slowing down which slows down the clients.

"Parameters"

MaxMsgSend=64;

MaxSizeGuaranteed=512;

MaxSizeNonguaranteed=512;

MinBandwidth=24000;

MaxBandwidth=480000;

MinErrorToSend=0.001;

MinErrorToSendNear=0.01;

"===========AI SERVER TEST SETTINGS==========="

"**** FPS LIMIT ON"

"**** HEADLESSON = false"

"**** FPSLIMIT = 45"

"**** TIME PER UNIT = 0.1"

"**** AI PER BATCH = 25"

"**** BATCH TIME = 15"

"**** MAX TOTAL AI = 600"

"============================================="

"** Fps = 46 ::: FpsMin = 43 ::: time = 19 ::: _aicount = 25"

"** Fps = 46 ::: FpsMin = 43 ::: time = 38 ::: _aicount = 50"

"** Fps = 45 ::: FpsMin = 43 ::: time = 56 ::: _aicount = 75"

"** Fps = 46 ::: FpsMin = 42 ::: time = 75 ::: _aicount = 100"

"** Fps = 44 ::: FpsMin = 23 ::: time = 93 ::: _aicount = 125"

"** Fps = 46 ::: FpsMin = 38 ::: time = 112 ::: _aicount = 150"

"** Fps = 45 ::: FpsMin = 40 ::: time = 131 ::: _aicount = 175"

"** Fps = 46 ::: FpsMin = 42 ::: time = 149 ::: _aicount = 200"

"** Fps = 46 ::: FpsMin = 42 ::: time = 167 ::: _aicount = 225"

"** Fps = 47 ::: FpsMin = 27 ::: time = 186 ::: _aicount = 250"

"** Fps = 48 ::: FpsMin = 42 ::: time = 204 ::: _aicount = 275"

"** Fps = 47 ::: FpsMin = 29 ::: time = 223 ::: _aicount = 300"

"** Fps = 48 ::: FpsMin = 42 ::: time = 241 ::: _aicount = 325"

"** Fps = 48 ::: FpsMin = 43 ::: time = 260 ::: _aicount = 350"

"** Fps = 48 ::: FpsMin = 43 ::: time = 278 ::: _aicount = 375"

"** Fps = 48 ::: FpsMin = 43 ::: time = 297 ::: _aicount = 400"

"** Fps = 46 ::: FpsMin = 36 ::: time = 316 ::: _aicount = 425"

"** Fps = 35 ::: FpsMin = 24 ::: time = 335 ::: _aicount = 450"

"** Fps = 44 ::: FpsMin = 40 ::: time = 354 ::: _aicount = 475"

"Random Network parameters active"

"===========AI SERVER TEST SETTINGS==========="

"**** FPS LIMIT ON"

"**** HEADLESSON = false"

"**** FPSLIMIT = 45"

"**** TIME PER UNIT = 0.1"

"**** AI PER BATCH = 25"

"**** BATCH TIME = 15"

"**** MAX TOTAL AI = 500"

"============================================="

"** Fps = 46 ::: FpsMin = 40 ::: time = 19 ::: _aicount = 25"

"** Fps = 46 ::: FpsMin = 43 ::: time = 38 ::: _aicount = 50"

"** Fps = 46 ::: FpsMin = 43 ::: time = 56 ::: _aicount = 75"

"** Fps = 45 ::: FpsMin = 42 ::: time = 75 ::: _aicount = 100"

"** Fps = 46 ::: FpsMin = 32 ::: time = 93 ::: _aicount = 125"

"** Fps = 46 ::: FpsMin = 38 ::: time = 112 ::: _aicount = 150"

"** Fps = 46 ::: FpsMin = 32 ::: time = 131 ::: _aicount = 175"

"** Fps = 46 ::: FpsMin = 33 ::: time = 149 ::: _aicount = 200"

"** Fps = 46 ::: FpsMin = 40 ::: time = 168 ::: _aicount = 225"

"** Fps = 47 ::: FpsMin = 37 ::: time = 186 ::: _aicount = 250"

"** Fps = 48 ::: FpsMin = 42 ::: time = 205 ::: _aicount = 275"

"** Fps = 48 ::: FpsMin = 38 ::: time = 223 ::: _aicount = 300"

"** Fps = 47 ::: FpsMin = 32 ::: time = 242 ::: _aicount = 325"

"** Fps = 47 ::: FpsMin = 37 ::: time = 260 ::: _aicount = 350"

"** Fps = 47 ::: FpsMin = 43 ::: time = 279 ::: _aicount = 375"

"** Fps = 48 ::: FpsMin = 45 ::: time = 297 ::: _aicount = 400"

"** Fps = 36 ::: FpsMin = 29 ::: time = 316 ::: _aicount = 425"

"** Fps = 42 ::: FpsMin = 29 ::: time = 342 ::: _aicount = 450"

"** Fps = 30 ::: FpsMin = 26 ::: time = 361 ::: _aicount = 475"

"** Fps = 39 ::: FpsMin = 31 ::: time = 388 ::: _aicount = 500"

There appear to be less frame-rate flux with smaller aggregate simulation messages and higher bandwidth

Edited by Polymath820

Share this post


Link to post
Share on other sites

"**** FPS LIMIT ON"

There appear to be less frame-rate flux with smaller aggregate simulation messages and higher bandwidth

First i think i uploaded a version with the report of ***FPS LIMIT ON backwards

lines 34 and 75 should read

if (ENABLEFPSLIMIT > 0) then {diag_log "**** FPS LIMIT ON";}else{diag_log "**** FPS LIMIT OFF";};

and not

if (ENABLEFPSLIMIT > 0) then {diag_log "**** FPS LIMIT OFF";}else{diag_log "**** FPS LIMIT ON";};

or maybe not and your results where just misleading me on the second run and your server is recovering from below 45 to create and then dropping below again for the report ?

I don't understand "smaller aggregate simulation messages and higher bandwidth"

Could you explain that to a layman like me ?

Here is my .cfg stuff maybe you could suggest some changes for me?

MaxMsgSend = 128;

MaxSizeGuaranteed = 512;

MaxSizeNonguaranteed = 256;

MinBandwidth = 131072;

MaxBandwidth = 2097152000;

MinErrorToSend = 0.001;

MinErrorToSendNear = 0.01;

MaxCustomFileSize = 1310720;

class sockets{maxPacketSize = 1400;};

My connection is 75MB down and 20MB up

http://www.speedtest.net/my-result/3568025481

Edited by BL1P

Share this post


Link to post
Share on other sites

https://community.bistudio.com/wiki/basic.cfg

Basically ArmA 3 sends a number of "messages to a client" the theory in this is if you can, you can reduce the number of messages per simulation frame. So ArmA 3 is very dependent on the server. MaxSizeGuaranteed is for non-repeative updates such as gun-fire and projectile updates on the other hand MaxSizeNonGuaranteed is for messages from repetitive updates. What ArmA 3 does is it takes the MaxNon and Max packs it into a "packet (aggregate messages)" then sends it to the client. The rate of those updates and the size of those messages within each update so you have a set of. I've mucked around with 128 updates to 512updates all the way upto 1024updates also if you increase the value of the updates the updates can't be faster than the MaxMsg's so if you have MaxSizeNon = 1024bytes; you can not use update rates faster than the message size.

MaxSize and MaxSizeNon they are 512bytes and 256byts they are then packed into aggregate messages which is the 512bytes + 256bytes without the headers accounting to 768bytes * 128 updates per simulation cycle also known as "tick on the server side" in theory smaller faster packets are better. Gives the client the necessary time to digest them. But it varies play with the values a bit just don't go over-board because the more simulation "updates" (ticks) means more load on the server

MinBandwidth well for your connection of 75MB down doesn't matter primary concern for a server is the upstream bandwidth, bandwidth just refers to how much data can be sent. In the case of your 20MB upstream the Minbandwidth you would probably use is much more than a server with upload of 1024kbps which the recommended bit-value for that is 768,000bits which is equivalent to 98.0Kbps your server is nearly 12 - 14 times that of the default value. now your server has a lot wider ability. I recommend based on lets say a ratio 98.8 * 14 = 1372KBytes * 1000 * 8 = 10976000bits. Which approximates to a 1MB/s upload speed. Which takes approximately 50% of your total upload at 18.90Mbps (bits) * 8 = 2.3625MB/s upstream.

Higher the bandwidth the more aggregated messages you can send to the client. But beware sometimes the packets will get dropped resulting in desync play with the values a bit.

And about the headless client just remember the bandwidth required and network updates will probably dynamically change as the headless client pretty much has no limit. But it is limited by the servers network parameters themselves. Furthermore the headless client is for both scripts and AI. In the event you have more scripts running and more AI don't you think you are going to need either more or less messages and larger or smaller packet sizes? Or larger or smaller bandwidths?

P.S: 2097152000 for a bit-rate at MaxBandwdith is way too high.

If you want to get a gauge on how long it takes to execute an AI spawn command you can use BIS_fnc_codePerformance

Edited by Polymath820

Share this post


Link to post
Share on other sites

Erm thanks :)

I still don't get this bit though.

"Bandwidth the server is guaranteed to never have (in bps)." so I could put 1milliontrillion(bps) because I know it is guaranteed to never have that ?

but you say that mine is way too high which I don't understand.

Share this post


Link to post
Share on other sites
Erm thanks :)

I still don't get this bit though.

"Bandwidth the server is guaranteed to never have (in bps)." so I could put 1milliontrillion(bps) because I know it is guaranteed to never have that ?

but you say that mine is way too high which I don't understand.

You'd put something realistic. What it does is it "calculates" or estimates how much bandwidth the server has available. The more accurate you are to an estimation you make the less work the server has to do. MaxBandwidth based on what I see your speedtest clearly running either a Cable modem with DOCSIS 3.0 or Fibreoptic connection I'd set it to around 5 to 7MB/s which is 58720256bits

Share this post


Link to post
Share on other sites
You'd put something realistic. What it does is it "calculates" or estimates how much bandwidth the server has available. The more accurate you are to an estimation you make the less work the server has to do. MaxBandwidth based on what I see your speedtest clearly running either a Cable modem with DOCSIS 3.0 or Fibreoptic connection I'd set it to around 5 to 7MB/s which is 58720256bits

Thanks very much m8.

Whats your server specs btw you had some nice results.

O yer I have fiberoptic to the box then copper to the house BT Infinity (UK).

PS. This server I am using in these tests is only for mission creation and the like.

I rarely get more than 1 or two people testing on it with me.

But would be nice to get the headless to actually do something other than cost money !

PPS.

What where these "Random Network parameters active" ? from your second test results

Share this post


Link to post
Share on other sites

Just a temp test server I actually hosted the Game and the Server on the same system... It's just an I5-2400 3.1Ghz (Turbo 3.5Ghz)

I use the test server for diagnostic purposes for both game problems and game network related issues. Also as far as I know, the headless client could potentially be a bottleneck.

I think they were 256 MaxMsgSend

MinBandwidth default and maxBandwidth 24000

MaxNon 1024

MaxGuaranteed 256 - 512.

As I said play with them a bit. Find out what works.

Edited by Polymath820

Share this post


Link to post
Share on other sites

Random thought, if we did an insane server test. Like an insane max player test. Maybe have a slot for 300 people to join.

Share this post


Link to post
Share on other sites
Ran some tests on my home server using a modified version of DarkWanderer`s spawning script.

@BL1P, thanks for sharing your test mission and your results.

I think the results on HC are unexpected enough to ask, do you have a line like this in your server.cfg?:

localClient[] = {127.0.0.1};

This line optimizes the network data flow for local clients, like HCs.

BTW: There is a newer (fixed) version of ASM out :)

Share this post


Link to post
Share on other sites
@BL1P, thanks for sharing your test mission and your results.

I think the results on HC are unexpected enough to ask, do you have a line like this in your server.cfg?:

localClient[] = {127.0.0.1};

This line optimizes the network data flow for local clients, like HCs.

BTW: There is a newer (fixed) version of ASM out :)

Hello Fred41.

Yes I do have this line in my server_config.cfg :-

steamPort = 2300;//--- doesntfuckingwork
steamQueryPort = 2301;//--- doesntfuckingwork

hostName = "BL1PLAND STUDIOS";
password = "";
passwordAdmin = "ILOVEFRED41";
reportingIP = "arma3pc.master.gamespy.com";
//logFile = "BL1PSERVER.LOG";
localClient[]={127.0.0.1}; 
motd[] = {};
motdInterval = 10;

maxPlayers = 20;
kickduplicate = 1;
verifySignatures = 0;
requiredSecureId = 2;

voteMissionPlayers = 3;
voteThreshold = 0.33;

disableVoN = 1;
vonCodecQuality = 10;
persistent = 1;
timeStampFormat = "short";
BattlEye = 1;

doubleIdDetected = "";
onUserConnected = "";
onUserDisconnected = "";
onHackedData = "";
onDifferentData = "";
onUnsignedData = "";
regularCheck = "";

class Missions
{
class Mission_1
{
	template = "AItest2.Stratis";
	difficulty = "mercenary";
};
};

looks right to me ?

I have just DLed your newer version of Arma Server Monitor thanks for the heads up.

I will give your "a simple registry tweak, for increased performance" a try on the server aswel as your "An improved custom memory allocator for arma"

If I can figure out how to get the LARGEADDRESSAWARE flag set correctly :)

I Hope the mission helps get some results back from different server hosts that in turn helps get some feedback to the devs.

Its always nice to have a benchmark type mission.

EDIT:-

Actually on reading your notes on the server part of the "a-simple-registry-tweak-for-increased-performance" ill leave that alone :)

Edited by BL1P

Share this post


Link to post
Share on other sites

I think the results on HC are unexpected enough to ask, do you have a line like this in your server.cfg?:

Ran some more HC tests

Test-1 was 4(all) cores on both Server and Hc default settings ie (25 ai every 30sec upto 400)

http://i.imgur.com/jedSLKp.jpg

Test-2 was core 1and 2 for Server core 3 and 4 for Hc default settings

http://i.imgur.com/GKnorIL.jpg

Test-3 Server 4core no HC no Fps limit 25ai every 30 sec upto 400

http://i.imgur.com/tdl2vJx.jpg

So yer my server performs better without HC !

Share this post


Link to post
Share on other sites

... i got this, while AI was running on HC ...

http://i61.tinypic.com/dmr70n.png (138 kB)

The above instance is the HC and bellow is server. (Left run is with large page usage, right run is with small pages usage, diff ~10%).

For me the suprising thing is, that server is nearly such busy to sync with the HC, as if AI was running directly, local on the server.

So, running a HC is perhaps no longer that cool option :confused:

Edited by Fred41

Share this post


Link to post
Share on other sites
... i got this, while AI was running on HC ...

http://i61.tinypic.com/dmr70n.png (138 kB)

The above instance is the HC and bellow is server. (Left run is with large page usage, right run is with small pages usage, diff ~10%).

For me the suprising thing is, that server is nearly such busy to sync with the HC, as if AI was running directly, local on the server.

So, running a HC is perhaps no longer that cool option :confused:

Did you run HC on same cores as the Server ?

Share this post


Link to post
Share on other sites

No, sorry forgot to mention.

HC -cpuCount=2, server -cpuCount=2.

I modified the params to spawn max. 1000 AI and reduced the delays a bit.

Here are the .rpt protocols:

HC:

*small page*

"===========AI HEADLESS TEST SETTINGS==========="
"**** FPS LIMIT OFF"
"**** HEADLESSON = true"
"**** FPSLIMIT = 10"
"**** TIME PER UNIT = 0.05"
"**** AI PER BATCH = 50"
"**** BATCH   TIME = 15"
"**** MAX TOTAL AI = 1000"
"============================================="
"** Fps = 50 ::: FpsMin = 48 ::: time = 12 ::: _aicount = 50"
"** Fps = 50 ::: FpsMin = 48 ::: time = 30 ::: _aicount = 100"
"** Fps = 50 ::: FpsMin = 45 ::: time = 49 ::: _aicount = 150"
"** Fps = 50 ::: FpsMin = 43 ::: time = 68 ::: _aicount = 200"
"** Fps = 50 ::: FpsMin = 48 ::: time = 87 ::: _aicount = 250"
"** Fps = 50 ::: FpsMin = 42 ::: time = 106 ::: _aicount = 300"
"** Fps = 50 ::: FpsMin = 43 ::: time = 125 ::: _aicount = 350"
"** Fps = 50 ::: FpsMin = 38 ::: time = 144 ::: _aicount = 400"
"** Fps = 49 ::: FpsMin = 42 ::: time = 163 ::: _aicount = 450"
"** Fps = 47 ::: FpsMin = 40 ::: time = 183 ::: _aicount = 500"
"** Fps = 38 ::: FpsMin = 32 ::: time = 202 ::: _aicount = 550"
"** Fps = 33 ::: FpsMin = 29 ::: time = 222 ::: _aicount = 600"
"** Fps = 28 ::: FpsMin = 24 ::: time = 243 ::: _aicount = 650"
"** Fps = 20 ::: FpsMin = 17 ::: time = 264 ::: _aicount = 700"
"** Fps = 14 ::: FpsMin = 12 ::: time = 286 ::: _aicount = 750"
"** Fps = 13 ::: FpsMin = 10 ::: time = 308 ::: _aicount = 800"
"** Fps = 12 ::: FpsMin = 9 ::: time = 332 ::: _aicount = 850"
"** Fps = 9 ::: FpsMin = 7 ::: time = 357 ::: _aicount = 900"
"** Fps = 9 ::: FpsMin = 6 ::: time = 382 ::: _aicount = 950"
"** Fps = 8 ::: FpsMin = 6 ::: time = 407 ::: _aicount = 1000"
"======== AI CREATION STOPPED @ 1000 AI ========"
"---- fps = 7 ::: fpsmin = 5 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 7 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 7 ::: fpsmin = 5 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 5 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 7 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"

*large page*

"===========AI HEADLESS TEST SETTINGS==========="
"**** FPS LIMIT OFF"
"**** HEADLESSON = true"
"**** FPSLIMIT = 10"
"**** TIME PER UNIT = 0.05"
"**** AI PER BATCH = 50"
"**** BATCH   TIME = 15"
"**** MAX TOTAL AI = 1000"
"============================================="
"** Fps = 50 ::: FpsMin = 48 ::: time = 12 ::: _aicount = 50"
"** Fps = 50 ::: FpsMin = 48 ::: time = 30 ::: _aicount = 100"
"** Fps = 50 ::: FpsMin = 45 ::: time = 48 ::: _aicount = 150"
"** Fps = 50 ::: FpsMin = 40 ::: time = 67 ::: _aicount = 200"
"** Fps = 51 ::: FpsMin = 40 ::: time = 86 ::: _aicount = 250"
"** Fps = 50 ::: FpsMin = 45 ::: time = 105 ::: _aicount = 300"
"** Fps = 50 ::: FpsMin = 42 ::: time = 124 ::: _aicount = 350"
"** Fps = 50 ::: FpsMin = 40 ::: time = 143 ::: _aicount = 400"
"** Fps = 51 ::: FpsMin = 42 ::: time = 162 ::: _aicount = 450"
"** Fps = 46 ::: FpsMin = 28 ::: time = 181 ::: _aicount = 500"
"** Fps = 47 ::: FpsMin = 38 ::: time = 201 ::: _aicount = 550"
"** Fps = 36 ::: FpsMin = 21 ::: time = 221 ::: _aicount = 600"
"** Fps = 30 ::: FpsMin = 23 ::: time = 241 ::: _aicount = 650"
"** Fps = 28 ::: FpsMin = 24 ::: time = 261 ::: _aicount = 700"
"** Fps = 23 ::: FpsMin = 17 ::: time = 283 ::: _aicount = 750"
"** Fps = 16 ::: FpsMin = 11 ::: time = 305 ::: _aicount = 800"
"** Fps = 15 ::: FpsMin = 10 ::: time = 328 ::: _aicount = 850"
"** Fps = 11 ::: FpsMin = 8 ::: time = 351 ::: _aicount = 900"
"** Fps = 9 ::: FpsMin = 6 ::: time = 376 ::: _aicount = 950"
"** Fps = 9 ::: FpsMin = 7 ::: time = 401 ::: _aicount = 1000"
"======== AI CREATION STOPPED @ 1000 AI ========"
"---- fps = 8 ::: fpsmin = 5 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"

server:

*small page*

"===========AI SERVER TEST SETTINGS==========="
"**** FPS LIMIT OFF"
"**** HEADLESSON = false"
"**** FPSLIMIT = 10"
"**** TIME PER UNIT = 0.05"
"**** AI PER BATCH = 50"
"**** BATCH   TIME = 15"
"**** MAX TOTAL AI = 1000"
"============================================="
"** Fps = 50 ::: FpsMin = 48 ::: time = 12 ::: _aicount = 50"
"** Fps = 50 ::: FpsMin = 48 ::: time = 30 ::: _aicount = 100"
"** Fps = 50 ::: FpsMin = 48 ::: time = 48 ::: _aicount = 150"
"** Fps = 50 ::: FpsMin = 48 ::: time = 66 ::: _aicount = 200"
"** Fps = 50 ::: FpsMin = 45 ::: time = 84 ::: _aicount = 250"
"** Fps = 50 ::: FpsMin = 45 ::: time = 102 ::: _aicount = 300"
"** Fps = 50 ::: FpsMin = 37 ::: time = 120 ::: _aicount = 350"
"** Fps = 49 ::: FpsMin = 42 ::: time = 138 ::: _aicount = 400"
"** Fps = 49 ::: FpsMin = 40 ::: time = 156 ::: _aicount = 450"
"** Fps = 48 ::: FpsMin = 40 ::: time = 174 ::: _aicount = 500"
"** Fps = 43 ::: FpsMin = 40 ::: time = 192 ::: _aicount = 550"
"** Fps = 38 ::: FpsMin = 34 ::: time = 211 ::: _aicount = 600"
"** Fps = 28 ::: FpsMin = 19 ::: time = 229 ::: _aicount = 650"
"** Fps = 28 ::: FpsMin = 21 ::: time = 248 ::: _aicount = 700"
"** Fps = 23 ::: FpsMin = 16 ::: time = 267 ::: _aicount = 750"
"** Fps = 17 ::: FpsMin = 13 ::: time = 286 ::: _aicount = 800"
"** Fps = 16 ::: FpsMin = 13 ::: time = 306 ::: _aicount = 850"
"** Fps = 10 ::: FpsMin = 8 ::: time = 325 ::: _aicount = 900"
"** Fps = 11 ::: FpsMin = 8 ::: time = 348 ::: _aicount = 950"
"** Fps = 9 ::: FpsMin = 8 ::: time = 370 ::: _aicount = 1000"
"======== AI CREATION STOPPED @ 1000 AI ========"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 5 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 5 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"

*large page*

"===========AI SERVER TEST SETTINGS==========="
"**** FPS LIMIT OFF"
"**** HEADLESSON = false"
"**** FPSLIMIT = 10"
"**** TIME PER UNIT = 0.05"
"**** AI PER BATCH = 50"
"**** BATCH   TIME = 15"
"**** MAX TOTAL AI = 1000"
"============================================="
"** Fps = 50 ::: FpsMin = 48 ::: time = 12 ::: _aicount = 50"
"** Fps = 50 ::: FpsMin = 45 ::: time = 30 ::: _aicount = 100"
"** Fps = 50 ::: FpsMin = 43 ::: time = 48 ::: _aicount = 150"
"** Fps = 50 ::: FpsMin = 45 ::: time = 66 ::: _aicount = 200"
"** Fps = 50 ::: FpsMin = 45 ::: time = 84 ::: _aicount = 250"
"** Fps = 50 ::: FpsMin = 45 ::: time = 102 ::: _aicount = 300"
"** Fps = 50 ::: FpsMin = 43 ::: time = 120 ::: _aicount = 350"
"** Fps = 49 ::: FpsMin = 34 ::: time = 138 ::: _aicount = 400"
"** Fps = 50 ::: FpsMin = 38 ::: time = 156 ::: _aicount = 450"
"** Fps = 49 ::: FpsMin = 36 ::: time = 174 ::: _aicount = 500"
"** Fps = 50 ::: FpsMin = 45 ::: time = 192 ::: _aicount = 550"
"** Fps = 43 ::: FpsMin = 29 ::: time = 210 ::: _aicount = 600"
"** Fps = 32 ::: FpsMin = 21 ::: time = 228 ::: _aicount = 650"
"** Fps = 31 ::: FpsMin = 21 ::: time = 246 ::: _aicount = 700"
"** Fps = 24 ::: FpsMin = 19 ::: time = 265 ::: _aicount = 750"
"** Fps = 19 ::: FpsMin = 14 ::: time = 284 ::: _aicount = 800"
"** Fps = 16 ::: FpsMin = 12 ::: time = 303 ::: _aicount = 850"
"** Fps = 13 ::: FpsMin = 9 ::: time = 322 ::: _aicount = 900"
"** Fps = 12 ::: FpsMin = 8 ::: time = 342 ::: _aicount = 950"
"** Fps = 9 ::: FpsMin = 7 ::: time = 362 ::: _aicount = 1000"
"======== AI CREATION STOPPED @ 1000 AI ========"
"---- fps = 10 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 11 ::: fpsmin = 8 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 8 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 8 ::: fpsmin = 5 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 11 ::: fpsmin = 9 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 6 ::: loop 7.5sec ::: _aicount = 1000"
"---- fps = 9 ::: fpsmin = 7 ::: loop 7.5sec ::: _aicount = 1000"

It was running at 4GHz, 2500k.

Share this post


Link to post
Share on other sites

You using affinity to set the cores or just using -cpucount in a command line?

Because I believe the latter doesn't work.

Could be wrong but I think I saw somewhere to use affinity to set cores not -cpucount I also think I saw a post somewhere about -cpucount not actually being used anymore in arma3.

Ref 1 : https://community.bistudio.com/wiki/Arma_3_Dedicated_Server#Headless_Client_on_a_Dedicated_Server_Notes

Edited by BL1P

Share this post


Link to post
Share on other sites

This is the CPU usage while running a mission.

http://i.imgur.com/lXufTSF.png (122 kB)

As you can see on the left only 1 core is being used.

The average CPU usage for arma3server.exe is about 16%.

Will it help to launch the server with -cpucount?

Share this post


Link to post
Share on other sites
You using affinity to set the cores or just using -cpucount in a command line?

I did use -cpuCount only (no affinity mask) and your hint initiated me to repeat this test with -cpuCount=4 (still no affinity mask) for both HC and server.

Obviously it make some difference. Now i got better performance and a notificable advantage (server unload) if all AI is local on HC.

Here is my ASM screenshot, left AI on HC, right AI on server (small pages only):

http://i61.tinypic.com/33njbyf.png (126 kB)

(sorry for the strange colors, ether this imagehoster is a beginner or i do something wrong :))

Share this post


Link to post
Share on other sites
I did use -cpuCount only (no affinity mask) and your hint initiated me to repeat this test with -cpuCount=4 (still no affinity mask) for both HC and server.

Obviously it make some difference. Now i got better performance and a notificable advantage (server unload) if all AI is local on HC.

Here is my ASM screenshot, left AI on HC, right AI on server (small pages only):

http://i61.tinypic.com/33njbyf.png (126 kB)

(sorry for the strange colors, ether this imagehoster is a beginner or i do something wrong :))

weird your screenshot doesn't show any details on the left ? no host name no mission name no fps numbers etc-etc ?

so I dont know if its server on top or hc on top how many ai blablabla:)

EDIT : I figured that bit out by looking more closely and rereading what you typed :)... looks like you ran 1000 ai nice with the fall offs starting at about 500ai and the server having the worst looking graph.(most spikes).

Anyway I have noticed a big increase in the ai my server will produce since the latest stable update.

I think I went from 200-250ai to 300-350ai quite a % increase.

One weird thing I noticed was that in a new version of the mission I made version3 :)

It will let you have the mission place ai on HC upto either the amount specified or the fps limit then it places the ai on the server.

So when running that version with it set to place ai until fps <45 for me it would place ai on the hc upto about 250-300 then it would start placing ai on the server.

when it placed ai on the server the hc would still degrade in performance even though it was not creating anymore ai.

at first I thought this was because server and hc where same pc.(so same cores or same cpu)

So I created the server on my home pc. and used my server box as my hc client.

It produced the same results!!!. once hc dropped below the specified fps limit the server would take over but the hcs fps would still drop with each group created.

strange !

It makes me think that even though the server and hc are using separate threads the ai are not truly local to the threads.

and that ai placed on server or ai placed on hc will effect the opposite. meaning that the hc is basically useless atm.

Yes you get a performance increase at the lower levels of the ai created but once you pass the max limit your server can handle on its own using a HC or not makes no difference in the overall performance.

EDIT

Mission version 3 :) http://www.gamefront.com/files/24303699/AItest3.Stratis.rar

disclaimer : blips a fool and takes no responsibility for any fkups with this mission/bechmark

Edited by BL1P

Share this post


Link to post
Share on other sites

Ran the version3 test on our community server :)

10:16:39 "===========AI SERVER TEST SETTINGS==========="

10:16:39 "**** FPS LIMIT ON"

10:16:39 "**** SPLITAI OFF"

10:16:39 "**** HEADLESSON = false"

10:16:39 "**** FPSLIMIT = 45"

10:16:39 "**** TIME PER UNIT = 0.05"

10:16:39 "**** AI PER BATCH = 25"

10:16:39 "**** BATCH TIME = 7.5"

10:16:39 "**** MAX TOTAL AI = 1000"

10:16:39 "============================================="

10:16:40 0:37:30.048 (0:00:02.106) versioning - cba_main - Not running! (Machine: B Alpha 1-1:1 (BL1P) (BL1P))

10:16:48 "** Fps = 50 ::: FpsMin = 48 ::: time = 11 ::: _aicount = 25"

10:16:58 "** Fps = 50 ::: FpsMin = 48 ::: time = 21 ::: _aicount = 50"

10:17:09 "** Fps = 50 ::: FpsMin = 48 ::: time = 31 ::: _aicount = 75"

10:17:19 "** Fps = 50 ::: FpsMin = 48 ::: time = 41 ::: _aicount = 100"

10:17:29 "** Fps = 50 ::: FpsMin = 48 ::: time = 51 ::: _aicount = 125"

10:17:39 "** Fps = 50 ::: FpsMin = 48 ::: time = 61 ::: _aicount = 150"

10:17:49 "** Fps = 50 ::: FpsMin = 48 ::: time = 71 ::: _aicount = 175"

10:17:59 "** Fps = 50 ::: FpsMin = 48 ::: time = 81 ::: _aicount = 200"

10:18:09 "** Fps = 50 ::: FpsMin = 48 ::: time = 92 ::: _aicount = 225"

10:18:20 "** Fps = 50 ::: FpsMin = 43 ::: time = 102 ::: _aicount = 250"

10:18:30 "** Fps = 50 ::: FpsMin = 48 ::: time = 112 ::: _aicount = 275"

10:18:40 "** Fps = 50 ::: FpsMin = 42 ::: time = 122 ::: _aicount = 300"

10:18:50 "** Fps = 50 ::: FpsMin = 43 ::: time = 132 ::: _aicount = 325"

10:19:00 "** Fps = 50 ::: FpsMin = 45 ::: time = 143 ::: _aicount = 350"

10:19:11 "** Fps = 50 ::: FpsMin = 43 ::: time = 153 ::: _aicount = 375"

10:19:21 "** Fps = 50 ::: FpsMin = 45 ::: time = 163 ::: _aicount = 400"

10:19:31 "** Fps = 50 ::: FpsMin = 48 ::: time = 174 ::: _aicount = 425"

10:19:42 "** Fps = 50 ::: FpsMin = 43 ::: time = 184 ::: _aicount = 450"

10:19:48 No player found for channel 1391034752 - message ignored

10:19:48 No player found for channel 1391034752 - message ignored

10:19:48 No player found for channel 1391034752 - message ignored

10:19:52 "** Fps = 50 ::: FpsMin = 45 ::: time = 194 ::: _aicount = 475"

10:20:03 "** Fps = 50 ::: FpsMin = 42 ::: time = 205 ::: _aicount = 500"

10:20:13 "** Fps = 50 ::: FpsMin = 45 ::: time = 215 ::: _aicount = 525"

10:20:24 "** Fps = 50 ::: FpsMin = 45 ::: time = 226 ::: _aicount = 550"

10:20:34 "** Fps = 50 ::: FpsMin = 45 ::: time = 237 ::: _aicount = 575"

10:20:45 "** Fps = 50 ::: FpsMin = 43 ::: time = 247 ::: _aicount = 600"

10:20:56 "** Fps = 50 ::: FpsMin = 43 ::: time = 258 ::: _aicount = 625"

10:21:06 "** Fps = 47 ::: FpsMin = 37 ::: time = 268 ::: _aicount = 650"

10:21:17 "** Fps = 44 ::: FpsMin = 36 ::: time = 279 ::: _aicount = 675"

10:21:27 "** Fps = 46 ::: FpsMin = 36 ::: time = 289 ::: _aicount = 700"

10:21:39 "** Fps = 44 ::: FpsMin = 36 ::: time = 301 ::: _aicount = 725"

10:22:04 "** Fps = 41 ::: FpsMin = 33 ::: time = 326 ::: _aicount = 750"

http://i.imgur.com/a0kU8Ul.jpg

The gauntlet has been thrown !

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

Edited by BL1P

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×