T O P I C R E V I E W |
NicoG |
Posted - 30 Jun 2008 : 06:38:30 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.
|
2 L A T E S T R E P L I E S (Newest First) |
NicoG |
Posted - 01 Jul 2008 : 02:15:19 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 |
quinncurtis |
Posted - 30 Jun 2008 : 09:55:13 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.
|
|
|