Jump to content
Sign in to follow this  
zorrobyte

enablesimulation false and hideobject true, what else is simulating?

Recommended Posts

Greetings!

Back in Arma 2/OA one could spawn a ton of stuff without any major FPS droop as long as enablesimulation false and hideobject true. Such is not the case in A3:

http://feedback.arma3.com/view.php?id=18451

Instead of mucking about spawning and despawning vehicles (which spams packets) any clue as to what is still simulating? Is it Physx threads and if so, how to disable?

Share this post


Link to post
Share on other sites

Hi mate,

I just did a test in the editor and I can't replicate your findings. I spawned 1045 units with enableSimulation false and hideObject true.

FPS stayed a constant 60.

A couple of things though.

I only spawned BLUFOR (not opposing sides).

I spawned them as pre-placed units with the scripting commands in the init line.

How are you doing your tests?

EDIT:

Okay, I just spawned a whole bunch of OPFOR (also disabled sim and hidden) and the FPS tanks.

I reckon it's the FSM's running in the background. I'll check disabling them as well after I get back from the offy. :)

EDIT 2:

I just spawned 800 BLUFOR and 800 OPFOR and each one had this in their inits:

this enableSimulation false; this hideObject true; {this disableAI _x} forEach ["move","anim","autotarget","target","fsm"];

And I still get a big FPS drop. I think you might be right about the physX being the culprit here.

Edited by Das Attorney

Share this post


Link to post
Share on other sites

Hopefully Iceman can figure out exactly what is going on, it would improve the effect of their own "fps_Manager.fsm" that at last glance wasn't being used along with general engine performance.

Next, I'll see what happens to FPS when I delete all the spawned vehicles? Maybe I'll just loop through spawning and despawning and keep tabs on FPS/Memory; may be bigger issue here.

EDIT

Deleting all vehicles puts FPS back at 60. Next I'm going to try "CAN_COLLIDE" to see if this somehow turns off Physx or something useful.

EDIT

"can_collide" waste of time for this scope however seems to spawn in my vehicles faster.

EDIT

_spawncar allowDamage false;

_spawncar addEventHandler ["HandleDamage", {false}];

doesn't increase frames either

Next I'm going to start chopping items out of the config.bin to see what is causing the slowdown.. Papercar anyone? I have a hutch it may be the "eventhandlers" for vehicle sounds.

EDIT:

"PaperCar" doesn't cause slowdowns! (https://community.bistudio.com/wiki/Arma_3_CfgVehicles_CIV). Need to dig in and see if papercar still works in A3 as it did in A2.

---------- Post added at 11:33 PM ---------- Previous post was at 09:58 PM ----------

Hmm.. Starting at 56FPS

C_Boat_Civil_01_police_F only drops FPS to 53

Box_NATO_Wps_F doesn't drop FPS = 56

B_MBT_01_arty_F drops FPS to 27!

B_Boat_Transport_01_F doesn't drop FPS = 56

C_Offroad_01_F drops FPS to 28

B_Heli_Light_01_F drps fps to 53 - would of expected more

This is using the same repo mission attached to my ticket.

Second thought.. may be due to Physx complexity..

Edited by zorrobyte

Share this post


Link to post
Share on other sites
H

Deleting all vehicles puts FPS back at 60. Next I'm going to try "CAN_COLLIDE" to see if this somehow turns off Physx or something useful.

EDIT

"can_collide" waste of time for this scope however seems to spawn in my vehicles faster.

That's expected. CAN_COLLIDE means that the vehicle is created at the position given without regard to it colliding with other objects. Conversely not using cancollide means the game had to check if the object it's creating will collide with anything and if so, try to move it. When it's moved it, check for collision again. It can be quite expensive in cpu usage.

Share this post


Link to post
Share on other sites

I've been complaining for a while that hideobject is only removing textures, you can collide with these objects and if they're ammo boxes AI can still use them to get more ammo.

There is also an issue with handledamage that should be fixed in up coming patch http://feedback.arma3.com/view.php?id=18184

Share this post


Link to post
Share on other sites

YOU GUYS ROCK!!

13-05-2014

EXE rev. 124294

Size: ~83 MB

http://goo.gl/4KAfxB

...

"Minor PhysX optimization"

...

FPS before spawning "C_Offroad_01_F": 59

FPS after spawning "C_Offroad_01_F": 59

I then went though and SPAMMED the script and spawned a few THOUSAND vehicles in (random class names):

59 FPS

Someone needs to throw BIS a pizza party.

Share this post


Link to post
Share on other sites
Someone needs to throw BIS a pizza party.

:party:

Hopefully this'll hit stable soon, that's the major breakthrough for AI caching...

Share this post


Link to post
Share on other sites

This is excellent news! That going to now be in your caching system ZB ?

Share this post


Link to post
Share on other sites

Getting there:

"ZBE 144 Groups, 1145 Units, 17 NoCacheFPS, 51 CachedFPS, 59 DeletedFPS"

http://feedback.arma3.com/view.php?id=18734

I'm going to do some testing for the vehicle caching now, see what happens if a vehicle not local to client on a dedicated server is enablesimulation false. Enablesimulation for AI Caching is acceptable to the point where feasible.

Share this post


Link to post
Share on other sites
Guest
On 14/05/2014 at 2:30 PM, zorrobyte said:

Getting there:

"ZBE 144 Groups, 1145 Units, 17 NoCacheFPS, 51 CachedFPS, 59 DeletedFPS"

 

zorrobyte,

 

If i use _object enableSimulation false on the machine where _object is local, the object get its simulation disabled on all other machines?

 

Also, when a unit local to the server have its simulation disabled on client A with the command enableSimulation false run in client A, the unit continues to update its position in client A but with a slower rate, right?

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  

×