Meshes taking up 1000x memory durring runtime?

Thanks for the new profiler in 4.1. It helps out a ton. It has led me to an interesting observation, though.

I have a game using “Static Batching” and “Dynamic Batching” in the player settings.
There are 32 meshes that get combined at runtime. The .FBX files for each and every one of these meshes is less than 1.4 KB, so I would expect the combined mesh to take up at most 44.2 KB of memory.
However, when I run the game in the editor and look at the memory use in the profiler, I see that the combined mesh is using about 1MB of memory.

Is this a Unity bug, or am I misunderstanding the way that mesh batching works?

Any thoughts or hints are welcome.

The mesh in memory will usually be bigger than the size of the FBX file; the file is a more compact version of the mesh data. Also, batching won’t reduce the size in memory of the meshes. It’s still storing all the same vertices and other data. What batching does is cause the graphics card to render all of the objects in one draw call, giving you a faster framerate. These days reducing the number of draw calls is generally more important than reducing the number of polygons when you want your game to run faster.

Good to know. Thank you.