Smoerble 11 Posted October 7, 2014 Hi all, please share your thoughts, if my assumption is correct: I assume, that objects that are out of sight radius do not affect the server performance and do not affect the local FPS. I assume, that only objects, that are in a radius around you (set by the view settings for objects + [x] meters) are actually loaded and calculated. My assumption bases mainly on the experience with older garphic engines (Unreal, UT 1+2) and the fact, that the editor displays millions of object-IDs. If this assumption is correct, I think, I could easily place several thousand objects on a map, as long as I don't place too many too close to each other. Questions: 1) Are the assumption above correct? 2) Did someone make a performance test, how many objects (like houses etc) in visible range affect the FPS? 3) I assume, the calculation of moving uints (enemy, BLUFor or civilians) uses a lot server power. Did someone do a test on this too? Thanks for any input. 1 Share this post Link to post Share on other sites
jshock 513 Posted October 7, 2014 From my experience your assumption is incorrect, I had made a mission a while back (months) where I started with about 800ish objects, and with a few issues with scripting, my server guy informed me that there were over 3000 objects on the map at the time the server became unplayable. This may be different now, but no matter how you look at it objects are no necessarily "out of sight, out of mind" you would have to use the simulation module for that. And yes a lot of triggers and waypoints will cause drops in performance. Share this post Link to post Share on other sites
Heeeere's johnny! 51 Posted October 7, 2014 Well, my experience was the exact opposite. We've got an Altis Life Server and during the development process, we've added more and more stuff and objects. We even have 3000+ different sized objects in just one location of the map. You could see the FPS drop, but it wasn't as big of a deal. In my experience, Smoerble's assumptions are correct. I believe it depends on what you do with those objects. For instance has it a heavy impact if you addActions to them or not as these are checked on each frame and especially if you have long addAction conditions without lazy evaluation, this can be a heavy load to the GPU/CPU. Also, units are way more GPU intense than "non-alive" static objects as they have animations which have to be rendered, too. Share this post Link to post Share on other sites
jshock 513 Posted October 7, 2014 (edited) Well, my experience was the exact opposite. We've got an Altis Life Server and during the development process, we've added more and more stuff and objects. We even have 3000+ different sized objects in just one location of the map. You could see the FPS drop, but it wasn't as big of a deal.In my experience, Smoerble's assumptions are correct. I believe it depends on what you do with those objects. For instance has it a heavy impact if you addActions to them or not as these are checked on each frame and especially if you have long addAction conditions without lazy evaluation, this can be a heavy load to the GPU/CPU. Also, units are way more GPU intense than "non-alive" static objects as they have animations which have to be rendered, too. Yeah like I said, it was a while back, probably a few updates since then have fixed some of the issues that were caused, but then again that was also back in my earlier scripting days when I didn't have a good grasp of server side object creation and clientside :p. But as you can see Smoerble, it's all a matter of what exactly you are using, static objects (not too costing), some dynamic objects (not too costing), a lot of dynamic objects (costly if not setup properly), and object creation during the mission is always important to have a good understanding of when it needs to be clientside or serverside or else it will "create" that object for each connected client every time (exponentially increasing the number of objects). And a lot of things with looping conditional checks (addActions, triggers, waypoints, etc.) will also cause issues if not properly attended to. And remember too with object population based on view distance, everyone that comes in could have a different view distance, so for some people only a few objects truly populate and for some people who have their view distance cranked to 12000 will populate most of the objects on the map. Edited October 7, 2014 by JShock 1 Share this post Link to post Share on other sites
dreadedentity 278 Posted October 7, 2014 The biggest way to kill performance is to have a ton of condition-checks, like actions, or CPU-costly loops. For units, they also have calculations run on a regular basis (I'm not too sure how often though), having too many can kill server performance fast. But by default static map objects do not have any calculations performed, you can have a huge number with negligible impact on gameplay (spawning that many objects will have an effect on performance at mission-start however). You should periodically check the distance between players and enemy units and use enableSimulation false on them, this is the foundation for a unit-caching script. Share this post Link to post Share on other sites
PuFu 4600 Posted October 7, 2014 1. not really a. number of individual objects do affect server performance. Due to occlusion culling and view distance, it does not affect local FPS though. DX instancing works (or should work) only when it comes to objects that are part of the terrain, not those that are placed in the editor. For everything in editor, those have individuals IDs. b. some of the objects are actually pre-cached. I am not certain classes, but some are by default, IRC some can be forced. c. Most issues with performance are related to AI and their relation to those objects (for instance buildings). For everything else, it is a simple matter of draw calls. 2. /3. one cannot really do such tests simply because of the huge number of factors that need to be taken into consideration. And i am not even touching the individual hardware configuration. What could not affect me on my i7+780ti, could affect someone else on a similar configuration, or a lower one. Simply because the RV engine doesn't scale rights, such tests are anything but reliable. Hi all,please share your thoughts, if my assumption is correct: I assume, that objects that are out of sight radius do not affect the server performance and do not affect the local FPS. I assume, that only objects, that are in a radius around you (set by the view settings for objects + [x] meters) are actually loaded and calculated. My assumption bases mainly on the experience with older garphic engines (Unreal, UT 1+2) and the fact, that the editor displays millions of object-IDs. If this assumption is correct, I think, I could easily place several thousand objects on a map, as long as I don't place too many too close to each other. Questions: 1) Are the assumption above correct? 2) Did someone make a performance test, how many objects (like houses etc) in visible range affect the FPS? 3) I assume, the calculation of moving uints (enemy, BLUFor or civilians) uses a lot server power. Did someone do a test on this too? Thanks for any input. 1 Share this post Link to post Share on other sites