Periodic performance issues (related to MATLABWindow.exe?)

3 visualizaciones (últimos 30 días)
Cyrano Chatziantoniou
Cyrano Chatziantoniou el 3 de Ag. de 2023
Editada: Ayush el 23 de Ag. de 2023
I'm working on a GUI that visualizes medical images and that can update images shown in multiple UIAxes at the same time. Scrolling through these images usually goes at an acceptable rate, but there are periodic hits to the performance that I don't understand.
To investigate this, I measured the frametime for each call to update the screen while continuously scrolling through the image. This gave the following results:
I looked at the CPU usage during the test and it showed large spikes in CPU usage corresponding to these large frametimes.
I noticed that during these spikes, the MATLABWindow.exe process would go to near 100% cpu usage, outside of these spikes it never went over 20% cpu usage. I repeated these tests several times, and the same behavior would occur each time, although the period between the spikes would vary.
Does anyone know what might be causing these performance hits? I can't seem to find much about the MATLABWindow.exe process either, what does that do?

Respuestas (1)

Ayush
Ayush el 23 de Ag. de 2023
Editada: Ayush el 23 de Ag. de 2023
I understand that you want to know the potential cause for the performance hits while scrolling through medical images in a GUI with multiple UIAxes, this could happen due to several reasons:
  • If Large image size, consider resizing.
  • Image loading from disk/memory could be time consuming.
  • Image processing such as filtering, enhancement, segmentation on the fly while scrolling could impact the performance.
  • Updating the multiple UIAxes simultaneously could be computationally expensive. Also, avoid frequent updates during scrolling.
  • Memory management: constant allocation & deallocation of memory could impact the scrolling speed.
  • Inefficient algorithms or code
To specifically pinpoint for performance hits, it is recommended to profile your code using MATLAB profiling tools. Profiling can help identify the sections of code that are taking the most time and consuming the most resources. You may read further on profiling: https://in.mathworks.com/help/matlab/matlab_prog/profiling-for-improving-performance.html
Thanks
Ayush Jaiswal

Categorías

Más información sobre Biomedical Imaging en Help Center y File Exchange.

Productos


Versión

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by