Memory Usage of Figure
13 次查看(过去 30 天)
显示 更早的评论
I have a figure containing 20 tabs where each tab contains 4 subplots with 2 line plots on each axes.
Now i want to find out the memory utilized by this figure?
Edit-1:
When i save the figure, its size is only 1.77 MB but when i open it and start switching tabs, memory size start increasing and cosume approx. 2GB
Edit-2:
Figure described above is attached
Regards,
Sugar
0 个评论
采纳的回答
Walter Roberson
2020-6-26
No method is provided of figuring out how large an object is that is referred to by a graphics handle.
You can get an approximation by using struct() on the handle and checking the size of the struct. However, graphics handles often refer to other graphics objects, and it is not uncommon for graphics objects to indirectly refer to themselves, so you would need some code to recursively descend the object without loops, adding up the sizes as you go.
Such a tool is generally possible; I have had reason to chase through graphics trees myself. But it is a fair bit of work to get right, and Mathworks keeps updating the graphic object representation, so you have to keep updating the code with every new release.
7 个评论
Walter Roberson
2020-7-1
In the testing I did, the physical memory size did not change much, but the virtual memory size went up. However, the size increase was not associated with visiting the "last" tabs (like 19 and 20), and instead was associated with the number of tabs that had been activated -- if you start at the end and go downwards to the first then the memory also goes up.
My interpretation would be that when you load the fig file, the graphics objects are created, but they are not rendered until they are activated, and that the rendering process consumes memory. The rendered versions are not removed from memory when you switch to a different tab, as you might want to switch back.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!