Memory Usage of Figure
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sugar Daddy
el 26 de Jun. de 2020
Comentada: Sugar Daddy
el 1 de Jul. de 2020
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 comentarios
Respuesta aceptada
Walter Roberson
el 26 de Jun. de 2020
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 comentarios
Walter Roberson
el 1 de Jul. de 2020
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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Graphics Object Programming en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!