What about memory?


First of all I want to say that GraphIT it's very nice tool for view data. Thank you.

When I created some test samples I saw big memory leaks when i trying reopen tab with CurveDisplay. Then I opened DemoApp (GraphIT Demo.exe). I started to open/close all samples many times and my memory has increased from 15MB to 800MB.

Can you tell me please way how can i clean memory after closing CurveDisplay?

file attachments


RonaldSchlenker wrote Nov 29, 2013 at 2:26 PM

Thanks for reporting. I have fixed some leaks, one related to drawing in the WriteableBitmap als another in the TileLegend. Should be better now, please double check with the latest release (1.0.1).

wrote Dec 19, 2013 at 9:04 AM

WarFollowsMe wrote Dec 19, 2013 at 9:04 AM

Hello. I builded yours DemoApp from last commit (80280) and still got memory problems.
You tested this app? Can you write some example to show how optimize memory with GraphIT.

P.S. I attach screenshot where open perfmon and GraphIT Demo.

RonaldSchlenker wrote Jan 6, 2014 at 11:50 AM


can you describe what exactly you mean by "memory problems"? What are your test cases, what are the results and what is the behavior you expect?

You write about "optimizing memory" with GraphIT. I don't understand what you mean. I fixed memory leaks inside the control, which means: I held some references of old curves and old drawing information that caused the memory to increase by each drawing cycle or each add/remove of a curve. This is what I mean when I say "leak": The memory steadily grows when you carry our this or that use case. These issues I fixed.

From the screenshot you provided, I cannot see anything because it is only a snapshot in time. A snapshot cannot show a memory leak because you would need at lease two snapshots: One from the begining and one after some time. In addition: It may happen that you have peaks in memory consumption. The important thing when you look at memory leaks is if the memory consumption grows in average(!!) over the time.

So, in order to understand your problem and to check if there are any at all, please provide the following info: What are your test cases, what are the results and what is the behavior you expect?

Thank you :)