Jump to content
Sign in to follow this  
Hud Dorph

Multiplayer not in playable state

Recommended Posts

;2560863']again Terox PvP only is also a main issue' date=' so seems amount of traffic sent by the server[/quote']

I'd agree, my suspicion is data transfer bottleneck which is not seen in a lan environment,

as for the pvp side of things, there doesnt seem to be many corroborating your findings kju

You may need a benchmark pvp mission to prove this over a number of servers.

I would imagine in a pvp environment the data transfer is more load balanced, with the server acting as a conduit for client updates to other clients

whereas in a coop environment, the server will be generating a lot of data to update the clients on AI states etc

Edited by Terox

Share this post


Link to post
Share on other sites

Wasteland, KingOfTheHill, AAS, Blitzkrieg, IC Arma Campaign, Arma Wargames - what is there to "prove"?

Especially as the same was fine in A2 and OA. Now its 10-20 FPS for clients essentially regardless how powerful the PC is.

Share this post


Link to post
Share on other sites
;2560885']Wasteland' date=' KingOfTheHill, AAS, Blitzkrieg, IC Arma Campaign, Arma Wargames - what is there to "prove"?

Especially as the same was fine in A2 and OA. Now its 10-20 FPS for clients essentially regardless how powerful the PC is.[/quote']

I seem to have misunderstood you.

Are you stating servers have an issue with FPS in pvp here, or are you discussing clientside fps?

The OP is discussing the serverside issue

Edited by Terox

Share this post


Link to post
Share on other sites

It is still related to client FPS as when the server FPS drop, all the client FPS drops too (without regard to spec).

KingOfTheHill have the exact problem described by the OP. You start the mission and your FPS is perfect, then after a while it drops to 20 FPS for everyone.

Share this post


Link to post
Share on other sites
It is still related to client FPS as when the server FPS drop, all the client FPS drops too (without regard to spec).

KingOfTheHill have the exact problem described by the OP. You start the mission and your FPS is perfect, then after a while it drops to 20 FPS for everyone.

so what is the server fps at this point?

Share this post


Link to post
Share on other sites
so what is the server fps at this point?

Unfortunatly, I was not the server owner when I play King of the hill missions.

Share this post


Link to post
Share on other sites

Whatever BI does for their testbed server, I seriously hope they include a script that logs each clients FPS as well. I would assume client-side issues are connected to server-side issues, since there are clearly some servers I have no issues with generally and some I do, with the same basic mission (though perhaps some minor mods or a different version is the reason - or perhaps just a 50ms ping difference). I still think my issues come from ping, and that there may be significant degredation of client-side performance past a certain ping threshold, though I have no concrete way to test this in a controlled environment (so I hope the dev testbed servers can). I should also note that my connection sometimes has microjitters, as I call them in connectivity due to poor Internet infrastructure in my country. This may be getting blown up into these fairly massive lag spikes and frame freezes by the engine/netcode. This may have smaller, harder-to-notice effects for other players.

For helping find an issue, I suppose it's good to have severe problems others mostly lack, since it might be that these problems exist for everyone, but in far more minimal forms.

I would also suggest BI, with its testbed servers, create servers in different countries (Cali, UK, Aus, Ger, Rus), then they can compare client performance (assuming players use different servers at times) by their ping, etc, to see if that really is a problem (and it may be causing server-side issues as well - I don't understand how you can isolate one from the other here...).

Edited by DNK

Share this post


Link to post
Share on other sites

> We play often for hours and over time the client pc loses fps to the point of unplayability too much.

This sound like that mission is not deleting some dead bodies/wrecks/weapon holders.

> Low FPS on server.

Will not cause Low FPS on client, but units simulated on server will be laggy.

Usually if something is slowing down server, it will slow down client as well - units owned by server are also simulated (!limited simulation) on client, so the game can predict what will they do.

Share this post


Link to post
Share on other sites

Doesn't make sense why the same mission on two different servers has drastically different playability. Here are 2 sessions from today (new main build). Both on the KOTH servers. First server, with 6 players near the round start (X-axis is frame, Y-axis is time between frames) (FPS = 1000/Y-axis) (scale for both graphs are the same):

koth-6ply_zpsb65767e3.jpg

Yeah, so that was extremely crappy performance, where there are constant micro and macro stutters. Regularly getting 5FPS or worse spikes. Now, second server, with 25-30 players at the middle of the round (end of round was same):

koth-30ply_zps44cba32e.jpg

Well, that's a solid 22-28FPS (for me, that's decent), not too much stuttering (very playable - I won the round in kill count).

There weren't many dead vehicles or units in either since it's pure PvP with few vehicles involved. By all means, the second one should've been far worse for that, and for the number of players. My client is the same for both missions, my hardware doesn't change. The pings for both were about the same 250-265 solidly (I also logged these to check). If it's not the server affecting my client, what's causing that horrid play (and that's far from the worst I've seen on this mission - I wasn't kidding about 2min+ "lag")?

My specs:

i5 3350P c4 3.1-3.3GHz 32-32-256-6MB cache

GTS 250 1GB

2x2GB Crucial 1066Mhz dual channel 7-7-7-16

Gigabyte B75M

Win7, up to date

~15Mbps line in SE Asia

Settings:

1600x900 noAA

All lowest video

1600VD

Edited by DNK

Share this post


Link to post
Share on other sites
> We play often for hours and over time the client pc loses fps to the point of unplayability too much.

This sound like that mission is not deleting some dead bodies/wrecks/weapon holders.

Why would a dead object, not moving, not changing state create more processing-data than something that is alive.

That must be an engine issue

If it is a requirement of a mission to delete such objects to maintain a playable state, then the engine should deal with it automatically.

It's unfair to expect a mission designer (Especially not a time served one) to be aware of these issues, even less so to know how to implement such a function unless there is a mission design document that states how to do it correctly.

A Description.ext switch would be far better than a module in this instance

Deletedeadobjects = TRUE;
TimeToDeleteDeadobjects = 600;  // Time delay
//or
DeadObjectLimit = 50;  // Dead object Array size limit  when count is 51, select 0 is deleted

(Please bare with me for benchmark-test mission, finding time is troulbesome at the ,moment, 75% done)

Edited by Terox

Share this post


Link to post
Share on other sites

Does it create more processing than alive objects? I think the issue just is that when you have an additional 50+ objects that need to have position/rotation/state/etc regularly updated for clients it creates a lot of additional processing time.

Share this post


Link to post
Share on other sites
Why would a dead object, not moving, not changing state create more processing-data than something that is alive.

... good question ...

If we compare equal numbers of "dead" and "alive" objects, the performance impact of the "alive" objects will be much higher.

But dependend of mission and player number, the number of "dead" objects will increase with time, if a proper object cleaning is absent.

I observed (in the old Blue1 CTI-Teetimes) object numbers of up to 10000, before optimized cleaning was implemented in the mission.

Servers and clients FPS was dropped a lot here with time and resulted to an unplayable state later.

After implementing a specialized cleanup script, the amount of mission objects was always bellow 600.

A very big difference and a lot better FPS for server and client was the result.

I think, the question, why dead objects impact the performance at all, is not easy to answer, without the knowledge how object fetching/selecting internally works.

If a script command like nearObjects is called, it should be clear, that the number of mission objects (deads included) will impact the execution time of this command directly.

But the performance is impacted too, if we don't call such object selecting command(s) directly.

I think this could be caused by engine internal search algorithms (probably not optimized enough), which are nessecary to fetch an object at all.

... just my personally experience with dead objects ...

Share this post


Link to post
Share on other sites

I have no idea how dead objects impact performance.

I was quoting Dr. Hladik statement

I would assume, that code being good, the dead objects should impact less than alive objects, for such obvious reasons as no expected state change etc.

However, the quote was in response to fps degradation over a period of playing time and the assumption was made that it could be caused by increasing numbers of dead objects.

If anything, with less alive objects on the map and no new alive objects introduced, you would expect FPS to increase. However this is not what folks are stating.

I will add an optional clean up system to the params of the benchmark mission, that way we can get a comparison in a gameplay environment

Share this post


Link to post
Share on other sites

Putting FPS degradation over time aside, I want to know why client-side FPS is hit so badly when there are moderate numbers of AI in towns. When hitting a town of around 70 AI, my frames drop from 40+ to the 20s. In Arma 2 I don't recall this being the case (someone correct me if I'm wrong). Is this due to Arma's new engine naturally requiring more resources than before, or is this down to poor optimisation? I'm hoping it's the latter, at least then there is the prospect of future patches increasing performance.

Share this post


Link to post
Share on other sites

In Escalation I used to have on real cleanup for dead bodies (only vehicles), and adding dead body (plus any nearby dropped weapons) cleanup did seem to help, but it did not solve the issue as FPS still degraded over time. It seems like it's more than just an increase in dead unit count that is causing the heavy load. Plus, it seemed to be much less of an issue in ArmA 2, as missions with no cleanup at all were running much better.

Share this post


Link to post
Share on other sites

Related to cleanup: I think it would make always sense, to verify the success of fresh implemented cleanup.

A simple way is the use of count allMissionObjects "All" at mission start and periodical while mission is running (lets say each 5 minutes).

If the number of objects is significantly increases with time, then we have to find out, what kind of objects are accumulated here

and to include this objects in our cleanup too.

BTW: This object counting is one of the optional features provided by Arma Server Monitor, exactly for the main purpose of cleanup verification

Share this post


Link to post
Share on other sites

diag_log["WeaponHolder_Single_F",count (allMissionObjects "WeaponHolder_Single_F")];

diag_log["GroundWeaponHolder",count (allMissionObjects "GroundWeaponHolder")];

diag_log["WeaponHolderSimulated",count (allMissionObjects "WeaponHolderSimulated")];

Share this post


Link to post
Share on other sites

Framerates are indeed too low .

They halve going from singleplayer to multiplayer, even on an empty domi server that just started.

Now 40 fps WOULD be playable, but on top of that it's also very stuttery and NOT smooth at all .

Kills immersion for me, bigtime .

edit* holy hell rofl i need to update my signature :D Good old times :)

Share this post


Link to post
Share on other sites

Teetimes warfare seemed to have some pretty aggressive cleaning and I was getting pretty good FPS there, so it might be just that the cleaning is not aggressive enough... I just don't know anymore...

Terox, any luck getting data on client OR server FPS over time in a mission where no objects are actually created during the mission?

Share this post


Link to post
Share on other sites
Teetimes warfare seemed to have some pretty aggressive cleaning and I was getting pretty good FPS there, so it might be just that the cleaning is not aggressive enough... I just don't know anymore...

Terox, any luck getting data on client OR server FPS over time in a mission where no objects are actually created during the mission?

s5till working on the benchmark mission, busy doing building works in the houses and every time i sit down to it i think... ah need a param that can disable That too

Share this post


Link to post
Share on other sites

Hey guys I'm a lurker here and believe me I'm no expert but I wanted to suggest that with Arma 3, dead bodies and such are physx objects and will remain so, whereas in Arma 2 and previous games they are just objects. Perhaps deleting them with a script doesn't deactivate them in the physx engine or something.

edit: Pretty sure this is why we don't see furniture in the buildings.

Edited by johnnypope
further insight

Share this post


Link to post
Share on other sites

I would imagine PhysX remains inactive until a collision or other interaction is detected.

This was also an issue in A2 (lag after long playtime and lots of dead vehicles), so it's not likely PhysX related.

Share this post


Link to post
Share on other sites

i can add a dead object removal for testing, by default disabled and then with a benchmark fps you can rety nd see what difference it makes

Share this post


Link to post
Share on other sites

The thing is it seems some missions have dead object removal and still suffer a performance hit, so some research needs to be done regarding of whether the performance hit is caused by other objects that aren't cleaned up, or that cleaning up simply doesn't do enough good in the long run. My guess is some things simply don't get cleaned up and/or are impossible to clean up.

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
Sign in to follow this  

×