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 & .Net Compact Framework
 QCChart2D and QCChart2D CF (VB and C#)
 Chart Performance using TimeAxis
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Eurekasoft

2 Posts

Posted - 15 Dec 2006 :  11:32:38  Show Profile  Reply with Quote
I am evaluating you RTGraph product for use in a data visualization tool we are working on. I like the class hierarchy and the rich feature set, but the performance when using a TimeAxis is pretty bad.

All of my graphs are time-based and the typical graph has 10 sensors with 32,000 samples per sensor. If I plot this with a numeric x-axis the performance is really good, but when I use the TimeAxis and the TimeGroupDataset the performance drops off considerably.

This is noticable in both the chart initialization and during a zoom.

I tried to use the compressTimeFieldGroupDataset but constantly got an ArrayOutOfBounds error during the compressing. Keeping the same parameters I simple change the function call to compressTimeGroupDataset and that work. The performance was again good with the compressed dataset, but the plot lost a lot of resoluton. I was using the MINMAX compression algorithm and compressing my 1 second samples into 1 Minute intervals.

The performance degradation is particularly bad when zooming. You don't even get the zoom rectangle in most cases and you loose zoom out clicks.

What tricks are available to maintain the fidelity of the data as you zoom in AND achieve acceptable performance? Is there some way to switch back to the uncompressed DataGroup the zoom factor is sufficiently small?

Tim

quinncurtis

1164 Posts

Posted - 15 Dec 2006 :  12:03:29  Show Profile  Reply with Quote
The TimeCoordinates coordinate system is slower than a regular CartesianCoordinate coordinate system because there is a lot more going on internally.

We have some automatic data compression routines, that eliminate your need to do any, that are turned OFF by default. You can turn them on in the dataset using the AutoDataCompressEnable property.

Dataset1.AutoDataCompressEnable = true;

Just leave your dataset in its original state and turn on this flag. Whenever the plot object requests data from the dataset, it will return data that is compressed.

Also, for performance, it is critical that the plot object that you are using have the FastClipMode property set to ChartObj.FASTCLIP_X.

thePlot1.SetFastClipMode(ChartObj.FASTCLIP_X);

Please post your results after these changes.


Go to Top of Page

Eurekasoft

2 Posts

Posted - 19 Dec 2006 :  10:16:52  Show Profile  Reply with Quote
Thanks. Both of those hints help a whole lot.

However, it is still really slow drawing a selection rectangle as well as poping the last zoom off the stack. Any hints to improve this performance?

Tim
Go to Top of Page

quinncurtis

1164 Posts

Posted - 19 Dec 2006 :  11:15:13  Show Profile  Reply with Quote
We modified our ChartZoom.CalendarZoom example program to plot 500,000 data points (more than your example) and to use the Dataset1.AutoDataCompressEnable capability.


int nNumPnts = 500000;
.
.
.
Dataset1.AutoDataCompressEnable = true;


We see no delay in drawing at all. Not in the drawing of the line plot, not in the drawing of the zoom rectangle and not in the drawing of the last pop from the zoom stack. See if you can repeat this.

The test above uses the SimpleLinePlot, but we repeated the tests with a TimeGroupDataset and a MultiLinePlot, and could see no difference.

It sounds like you have introduced some other problem, possibly in the way you override the ChartZoom class to add the zoom stack capability.

We have to assume that you are using the .Net software, and not .Net CF. Also that you are using a relatively modern computer, ours is a standard 1.5 GHz Celeron with nothing special.

Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
Quinn-Curtis Forums © 2000-07 Quinn-Curtis, Inc. Go To Top Of Page
Powered By: Snitz Forums 2000 Version 3.4.07