[General] Map Loading Slowly?

Level 19
Joined
Jul 12, 2010
Messages
1,676
things that can make ur map to take longer to load its

pre placed units
a lot of doodads
imports (i believe)
and triggers that run at map init

thnx for helping!!

question:
if i change Map Initialization with Elapsed Game Time 1.00 will it improve loading time?

another question:
do GUI triggers take more time to load than vJass?
because there are some system that can be replaced with vJass...
 
Level 11
Joined
Jul 11, 2010
Messages
422
You shouldn't abuse of "Elapsed game-time is 1.00 seconds" since it causes lag. Map loading is done for loading the datas :goblin_yeah:.

Yes, jass/vjass functions are faster than GUI's one (cause of the BJ thing that you may have heard about).

You can decrease the loading time for custom object by widgetizing them.

For info, if I'm not mistaken : the map loads first the shadow, then the terrain (about 0 to 1/4 of the bar), the objects datas (1/4 to 2/3), the preplaced doodads/destructables (2/3 to 4/5) and finally runs the triggers with the "map initialization" event (plus the "invisible script" that includes the pre-placed units).
 

Bannar

Code Reviewer
Level 26
Joined
Mar 19, 2008
Messages
3,141
Since imports, object data, doodads and triggers with event - map initialization has been mentioned, I'll add some stuff left:

There are also many other thing that can increase loading time.
Abilities lvls. War3 engine does not like any ability that does above 4lvl and esspecial if it's above 10. Using multiple low lvl abilities can help here too. Spamming units with high lvls doesn't help either.

If you are using 'dummy units' as effects on map, it's better to replace them with effects - they take up less memory.
If you are creating new units/abilities/other stuff in object editor and you do not need some of default ladder ones, it's better to customize the already existing stuff, it will reduce the map size a bit.

Make sure you remove all uneeded trigger data, using only those which are nessecary - think aobut combining some triggers together, etc.
If there are some triggers that run just once time in game you can use action DestroyTrigger(triggerhere) to increase performance during the game (it doesn't reduce loading time). Remember to clear leaks + null variables (if you are using jass), esspecialy array ones.

Don't use default brush for creating trees, it's creating a lot of them and usually half is useless (that spamming looks ugly and usually the forest made this way will be a mess).

Use systems to help you with spells, instead of creating multiple triggers doing similar stuff. Indexers can help you improve trigger data a lot = less map size.

And yes, don't abuse 1.00 event triggers too. You can use timer to help you handle that stuff.
 
Top