I have an MDL model that's vertex animated. It's 40MB in file size.
If I load this model into an empty test level room, the amount of system RAM taken up (shown in task manager) is over 100MB.
If I load the same model into MED, the amount of RAM taken up is only 50MB.
What is the difference between loading an MDL into the actual game and loading it into MED that's causing this huge difference in system RAM needed? I understand that the engine has more going on than just MED does, but is there really this much overhead?
My question isn't about the feasibility of the MDL size but rather about why they take up so much more RAM than the file size is. We're not using any shaders or anything. It's just the MDL files, a level, and that's it.
Please, no opinions on whether you think things are too large, etc. 40MB is not too high for us. We have a published game that's been selling well for a month now with several animated MDL files that are over 100MB. People love our game and it runs fine. I'm just interested in technical responses regarding my question.
My bet is that a DirectX mesh is much larger than just the coordinates in the MDL file. For instance the size of a D3DVERTEX is 14 floats but in the MDL file its probably only 3 or 6 floats.