I'm noticing when loading a 250mb OBJ file (high resolution mesh), Blender goes from 89mb RAM to around 2.1gb. Loading the same mesh in Preview.app uses around 300mb.
Why is that? Is there a way to reduce usage?
I suspect this is due to Blender using a half-edge (or similar) data structure for loaded meshes. But even so, I'm surprised by the memory usage, given OBJ is a very inefficient text-based format.
Update: following the steps here, I printed out memory usage details:
total memory len: 1077.328 MB
peak memory len: 1077.372 MB
slop memory len: 15.404 MB
ITEMS TOTAL-MiB AVERAGE-KiB TYPE
13547 ( 422.624 31.946) Chunk buffer
1 ( 158.249 162047.156) CDMLoop
1 ( 118.687 121535.367) CDMEdge
2 ( 105.500 54015.812) DM_ensure_looptri_data
2 ( 79.125 40511.824) face_nors
1 ( 79.125 81023.578) CDMPoly
1 ( 65.937 67519.648) CDMVert
2 ( 26.375 13503.941) GPUBufferMaterial.polys
2 ( 13.187 6751.980) GPUDrawObject.vert_points
I'm guessing CDMLoop and CDMEdge are part of the mesh data structure, though I'm not sure what Chunk buffers are. Googling and searching the blender repo on github didn't lead to clear results.