• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a faction for Warcraft 3 and enter Hive's 19th Techtree Contest: Co-Op Commanders! Click here to enter!
  • Get your art tools and paintbrushes ready and enter Hive's 34th Texturing Contest: Void! Click here to enter!

Memory Usage

Status
Not open for further replies.
Level 19
Joined
Jul 2, 2011
Messages
2,161
try it

create the smallest possible in world editor and load it from top to bottom in animated doodles (fires and high particular animations are the worst)

anything that causes frame changes is going to increase the ram usage
 

Dr Super Good

Spell Reviewer
Level 65
Joined
Jan 18, 2005
Messages
27,296
With exception of trigger leaks, most of WC3's memory ends up being used for game assets. A blank map might require WC3 be only 100MB however fill it with 1 of every model and WC3 will likely need 1GB of memory.

The fatal error point for WC3 is ~2GB of memory. A 64bit OS might or might not allow it to become larger than 2GB.
 
Level 19
Joined
Jul 2, 2011
Messages
2,161
With exception of trigger leaks, most of WC3's memory ends up being used for game assets. A blank map might require WC3 be only 100MB however fill it with 1 of every model and WC3 will likely need 1GB of memory.

The fatal error point for WC3 is ~2GB of memory. A 64bit OS might or might not allow it to become larger than 2GB.
how many doodads and units does it take to reach this 2gb limit?
 

Dr Super Good

Spell Reviewer
Level 65
Joined
Jan 18, 2005
Messages
27,296
how many doodads and units does it take to reach this 2gb limit?
With doodads I am guessing something in the region of millions, far more than the game can render/process in real time.

In the case of units, destructables and items it is not possible to run out of memory. The game will crash due to some internal resource depletion long before approaching the virtual memory address limit. For example when I tried to create 32,000 destructable rocks across a map such a crash occurred.

There is a unit leak, not all memory for a created unit is freed when it is removed. This includes all methods of unit creation as well as all methods of unit removal. The leak is so small that one would likely need to create and remove millions of units before the limit is approached. Since it is very rare for games to create and remove more than a few dozen thousand units per session one can ignore this as a limit.

WC3 will run out of memory is if someone loads every single default asset as well as another 1GB expansion mod of assets. Obviously if they have trigger leaks they might also run out of memory but that is the result of bad programming practices that can be fixed.
 
Level 19
Joined
Jul 2, 2011
Messages
2,161
With doodads I am guessing something in the region of millions, far more than the game can render/process in real time.

In the case of units, destructables and items it is not possible to run out of memory. The game will crash due to some internal resource depletion long before approaching the virtual memory address limit. For example when I tried to create 32,000 destructable rocks across a map such a crash occurred.

There is a unit leak, not all memory for a created unit is freed when it is removed. This includes all methods of unit creation as well as all methods of unit removal. The leak is so small that one would likely need to create and remove millions of units before the limit is approached. Since it is very rare for games to create and remove more than a few dozen thousand units per session one can ignore this as a limit.

WC3 will run out of memory is if someone loads every single default asset as well as another 1GB expansion mod of assets. Obviously if they have trigger leaks they might also run out of memory but that is the result of bad programming practices that can be fixed.
I'll try and make a small map after work today, to generate doodads until the map crashes

then I'll report back to you the results
 
Level 19
Joined
Jul 2, 2011
Messages
2,161
With doodads I am guessing something in the region of millions, far more than the game can render/process in real time.

In the case of units, destructables and items it is not possible to run out of memory. The game will crash due to some internal resource depletion long before approaching the virtual memory address limit. For example when I tried to create 32,000 destructable rocks across a map such a crash occurred.

There is a unit leak, not all memory for a created unit is freed when it is removed. This includes all methods of unit creation as well as all methods of unit removal. The leak is so small that one would likely need to create and remove millions of units before the limit is approached. Since it is very rare for games to create and remove more than a few dozen thousand units per session one can ignore this as a limit.

WC3 will run out of memory is if someone loads every single default asset as well as another 1GB expansion mod of assets. Obviously if they have trigger leaks they might also run out of memory but that is the result of bad programming practices that can be fixed.
I'll try and make a small map after work today, to generate doodads until the map crashes

then I'll report back to you the results
 

Dr Super Good

Spell Reviewer
Level 65
Joined
Jan 18, 2005
Messages
27,296
I'll try and make a small map after work today, to generate doodads until the map crashes
One cannot dynamically generate doodads, they have to be preplaced on the map in the editor (or equivalent) before WC3 loads the map. Doodads and destructables are different, with destructables being closer to units while doodads are closer to the terrain.
 

Dr Super Good

Spell Reviewer
Level 65
Joined
Jan 18, 2005
Messages
27,296
Do higher polygons models take more ram or just more processing power?
I would imagine both to some extent. More memory would be used to store vertex data. More GPU time would be used to render it, but due to how simple WC3 models are for modern GPUs this might only make a difference for very high vertex models. Transferring from CPU to GPU memory would take more time.

WC3 uses the old fixed function shader pipelines of D3D/OpenGL, hence it might not be able to take advantage of more modern GPU features such as multiple command buffers for better parallelism. The old API also was prone to block the CPU for a longer time. As a result despite being visually simple, WC3 might be more graphically limited than more complex games purely due to its inability to fully use what is available to it.
 
Status
Not open for further replies.
Top