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 Java
 QCChart2D for Java
 help with improving response time
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

johnbutler

23 Posts

Posted - 18 Nov 2005 :  11:25:52  Show Profile  Reply with Quote
Hi,
My company is working on a "waterfall" display. The graph scrolls vertially over time (so we are using QCGraph not QCRTGraph). There is a vertical bar at every point on the x-axis (up to 150 line plots whose x value does not change and whose y value is time). The color of each plot represents that amplitude of the data. Because this amplitude changes over time we are using line segment attributes.

The problem is that once we have 15 seconds of data, we end up with a lag time of 5 seconds. We are also seeing that other items in the GUI are not being refreshed as quickly as they should be (up to 10 seconds to repaint buttons).

Do you have any suggestions on how we might improve performace?

I was thinking about trying to not use segment attributes by starting a new line plot whenever the amplitude of the data changes (which is not very often) but was then worried that I would end up with an infinate number of line plots help in memory.

Thanks,
John

quinncurtis

1164 Posts

Posted - 18 Nov 2005 :  13:05:02  Show Profile  Reply with Quote
As we said in a previous post, breaking up long polyline runs by using segment attributes can slow updates by as much as 100 times. If speed is the critical factor, and you are trying to plot many thousands of points, you should not use segment attributes.

You can continuously create new line plots and add them to the graph. Just save a reference to every line plot object. When a line plot is no longer part of the graph delete the line plot object from the list that the ChartView maintains of all graph objects in the view.

ChartView chartvu;

// delete reference from ChartView object list
chartvu.deleteChartObj(lineplotobj);
// free memory associated with object.
lineplotobj = null;


You would need to make sure that you null out all references that you might have to that object, and to never reference that particular object again.

Our services group could analyze the format of your incoming data, and your waterfall chart requirements, and create for you a custom plot class optimized for your application. That could probably result in a 10x improvement over what you are seeing now.
Contact sales@quinn-curtis.com for a quote.

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