Quinn-Curtis Forums
Quinn-Curtis Forums
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Tools for Microsoft .Net
 Real-Time Graphics Tools for .Net (VB and C#)
 Memory increases when chart is displayed
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

NicoG

France
12 Posts

Posted - 30 Jun 2008 :  06:38:30  Show Profile  Reply with Quote
Good Morning ,

I use the QCRTGraph with visual basic . Net 2003 and framework.net v1.1 or V2.0 on computers with Windows XP PRO SP2 or SP3.
I observe that the CPU process memory increases when the chart is displayed in real time.
I use the update.draw method every 100ms (same result when I update the graphic every second) and when the chart is in foreground window, the virtual memory and physical memory increase until the memory computer is full and the application bugs. If I open a new window (like notepad) over the chart so that the chart is not visible , the memory used by the VB application is stable . This problem is visible on all computers (XP SP2/SP3).
I have ever tried to use the auto-tuncate properties but there are no changes.
How resolve this problem ?
This is a major problem for us because this bug stops the production of our customers after few hours or few days. They must restart the application and sometimes restart the computer to free the memory.

Your quick help is appreciated.

quinncurtis

1586 Posts

Posted - 30 Jun 2008 :  09:55:13  Show Profile  Reply with Quote
We are not aware of problems that will result in a long term increase in the amount of memory used as data is collected and displayed, assuming that all process variables accumulating data have the AutoTruncateDataset flag set true. In the short term you will see an increase, as the data buffers fill, and "garbage" accumulates in the .Net memory system. But in the long term the memory should be stable, as the data buffers truncate, and the .Net memory manager runs it's garbage collector.

Try and use our ScrollApplication1 examples. Set the AutoTruncateDataset flags for the two datasets true and run. Allow the process to reach a steady state. After 5 minutes record the amount of memory in use. Continue to record the memory used every 10 minutes.

.Net only sporadically recycles unused or released memory. You can force a garbage collection by calling the .Net GC.Collect method. Place one after the call to our UpdateDraw method.

this.UpdateDraw();
GC.Collection();

You should update your software to the current version (1.7) just to be on the safe side.

Go to Top of Page

NicoG

France
12 Posts

Posted - 01 Jul 2008 :  02:15:19  Show Profile  Reply with Quote
Thanks for your quick reply.
It's better with autotruncatedataset properties and garbage collector.
I have always a memory leak in my application but I think it comes from an other class.
I will update the current version.
Thank you
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
Quinn-Curtis Forums © 2000-2018 Quinn-Curtis, Inc. Go To Top Of Page
Powered By: Snitz Forums 2000 Version 3.4.07