Full Version : Performance Issue?
xmlspawner >>XMLSpawner - Discussion >>Performance Issue?
<< Prev | Next >>
Allmight- 09-06-2006
I came up with an idea for spawning the world. Instead of having spawners with lots of different kinds of monster, i was thinking of having spawners that only handled one type of monster, and doing that for every monster in the world.
Ex. I am creating the spawns in spawn editor 2, and i want an easy way to see where in the world i spawn certain types of monsters. So i thought of creating one file for each monster type, so when loaded in SE2, i could easily see where they spawn.
This may lead to alot of spawners, but perhaps not that much more than the other method, since i can create larger spawn areas.
So my question is, is there a big performance hit the more spawners i have? Or is that only initially when doing the full spawn? I can imagine that since the spawners use timers, the more spawners i have the more timers, hence the bigger performance hit of the server?
Allmight- 09-06-2006
Oh, forgot.
I also wonder if the size of the area the spawner covers affects the performance in any way, and if so, how?
ArteGordon- 09-06-2006
the spawning area of a spawner would only affect performance if you enabled smartspawning (spawn range determines the sectors that have to be monitored for player activity) or used one of the #TILE or #NOTILE control keywords (has to scan all tiles in the spawn range before determining spawn placement).
Otherwise it makes no difference.
There is going to be a small performance hit with more spawners, just as there would be with increases in any item, but the additional timers are not going to have any noticable impact. I have done quite a bit of performance benchmarking related to this, and it really is not an issue.
The lag that is experienced when doing a full respawn is related to the load of actually creating, placing, and then running the newly activated AI of all of those spawns.
For tracking spawn distributions, the best tool is the transfer server capability of the SpawnEditor. It will let you see the exact distribution of different creatures by directly downloading the information from your live server.
You can also filter displayed spawners based on spawn entries, avg spawn time, tests of any spawner property, and other options.
So if you want to see the distribution of spawners that spawn bears, just open up the spawner filter settings (Settings button in the spawn list panel on the left), set the Entry to 'bear' and Apply it.
To see all spawners with vendors, set the Entry Type to 'basevendor' and Apply it.
Allmight- 09-06-2006
Thanks for your prompt answer.
So from what understand, there should be no real problem using this method i am considering then. Thats good news.
Yes, i knew about the transfer server feature of Spawn Editor 2, and it is good. But reason i am considering using this alternative method, is that i get greater control where each kind of monster/animal spawns, not general areas that is common with the old fashioned way with general spawners.
Question. You said that if i have a large area, and using the #TILES, #NOTILES feature, how larger should an area be before it starts to get big problems?
For example. I have one spawnarea that covers the whole junlge area below trinsic, and i want to restrict the spawns to jungle tiles. Would this give a big performance hit, meaning it will be very noticable each spawn? That is, after i did the initial full spawn.
The area mentioned above of course encompas alot of water, grass, mountain etc, since i need to get most of the jungle in one area.
ArteGordon- 09-06-2006
I have not done quantitative benchmarking with #TILES and #NOTILES as a function of spawn area, but in general, the load will go up proportionally with the spawn area. Spawn ranges under 100 or so are probably not going to be noticable. Go over 200-300 and you may begin to notice if you have lots of them or lots of rapid spawns.
Allmight- 09-06-2006
Yeah, suspected you would be uncertain. I will post my findings as soon as i have something to go on.