Speed up Live Plotting?

TeeChart VCL for Borland/CodeGear/Embarcadero RAD Studio, Delphi and C++ Builder.
moelski
Newbie
Newbie
Posts: 92
Joined: Tue Jun 19, 2007 12:00 am
Contact:

Re: Speed up Live Plotting?

Post by moelski » Mon Nov 16, 2009 11:02 am

Hi Narcis,
We will get back to you when we have further news
As you can imagine this is a really important fix for us.

Will it take days / weeks / month to check my suggestion?

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: Speed up Live Plotting?

Post by Narcís » Mon Nov 16, 2009 11:31 am

Hi Dominik,
As you can imagine this is a really important fix for us.
Yes, I understand your point. Anyway, If it's working fine for your needs you can keep using your customised version of TeEngine.pas.
Will it take days / weeks / month to check my suggestion?
We are currently investigating the issue here and I hope we can give you a reply in a few days.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

moelski
Newbie
Newbie
Posts: 92
Joined: Tue Jun 19, 2007 12:00 am
Contact:

Re: Speed up Live Plotting?

Post by moelski » Mon Nov 16, 2009 11:39 am

Hi Narcis,
If it's working fine for your needs you can keep using your customised version of TeEngine.pas
Correct. We will use it until you prove the fix (and hopefully implement it).

In general I would avoid to use custom fixed TChart code. This may result in problems and needs to be always fixed if a new version is available.
We are currently investigating the issue here and I hope we can give you a reply in a few days.
Sounds great.

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: Speed up Live Plotting?

Post by Narcís » Tue Nov 17, 2009 10:04 am

Hi moelski,

I have had a look at it. First of all I think that instead of duplicating same code in InserChartValue and AddChartValue it may be better using RecalcStats for doing this job as it does now. It could be called from those methods then. Anyway, my first impression is that calling RecalcStats there doesn't improve performance much. Letting RecalcStats being called as it's now and doing the job as you suggested certainly improves performance. However, we are not sure if this wouldn't break other functionality yet. It may cause problems when using several series in a chart. At this stage we are not able to do the exhaustive investigation necessary before including this change into production version source code. So I have added your suggestion to the wish-list (TV52014563) to be reviewed thoroughly as soon as possible and take a decision on it.

Thanks for your collaboration and feedback.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

moelski
Newbie
Newbie
Posts: 92
Joined: Tue Jun 19, 2007 12:00 am
Contact:

Re: Speed up Live Plotting?

Post by moelski » Mon Nov 23, 2009 1:38 pm

Hi Narcis,
It may cause problems when using several series in a chart
Well I used my fixed code now for several days and I got now problems. Even if I use many different series it work like a charme.
instead of duplicating same code in InserChartValue and AddChartValue it may be better using RecalcStats for doing this job as it does now
This may work ... But it´s not so easy to avoid the FOR NEXT if you do it in RecalcStats. maybe this can be done with an overloaded RecalcStats ...

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: Speed up Live Plotting?

Post by Narcís » Mon Nov 23, 2009 2:00 pm

Hi moelski,

Thanks for your feedback. We haven't had the time to look at this issue yet. At the present moment our focus in the VCL field is getting v9 beta out of the door. When it's done we will try fixing top priority issues.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

moelski
Newbie
Newbie
Posts: 92
Joined: Tue Jun 19, 2007 12:00 am
Contact:

Re: Speed up Live Plotting?

Post by moelski » Mon Nov 23, 2009 2:14 pm

Hi Narcis,
At the present moment our focus in the VCL field is getting v9 beta out of the door
I just asked myself ... "When did you asked the last time for the Beta 9" :mrgreen: :mrgreen:
When it's done we will try fixing top priority issues.
Thx. If I can tests things please let me know.

For the moment I will use my solution. But as I said before ... A build in fix would be welcome :)

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: Speed up Live Plotting?

Post by Narcís » Tue Mar 30, 2010 1:26 pm

Hi moelski,

We have been investigating TV52014563 further and we are not going to implement it as it affects some basic elements and would probably break functionality in other chart configurations. However, we don't have any inconvenient that you apply those customisations to your sources if it fits your needs.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

moelski
Newbie
Newbie
Posts: 92
Joined: Tue Jun 19, 2007 12:00 am
Contact:

Re: Speed up Live Plotting?

Post by moelski » Tue Mar 30, 2010 2:37 pm

Well it would be great if you tell me the problems a little bit more detailed.

So we can enhance our fix.

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: Speed up Live Plotting?

Post by Narcís » Tue Mar 30, 2010 3:16 pm

Hi moelski,

We think it would affect calculation of which are the points visible in the chart (for example: FirstVisibleIndex and LastVisibleIndex), would also probably affect left axis range calculation if points are not sorted. Changes in this area are very sensitive as this is the core of TeeChart. We have the impression your suggestions would only be useful for a very specific kind of charts and would probably break others.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

MTW
Newbie
Newbie
Posts: 21
Joined: Thu Jun 28, 2007 12:00 am

Re: Speed up Live Plotting?

Post by MTW » Tue Jun 01, 2010 3:35 pm

I am running the VCL Build 8.06.60902 with C++ Builder 2010 and am experiencing the same problem of CPU usage going up to 75% when a large amount of data is added to a real time display. I am deleting data, but am allowing up to 60,000 points to be displayed per data element.

Has anything further been done to address this issue? I would use the patch suggested in this thread, but I do not have the source code for the package.

Thank you.
M Weingarden

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: Speed up Live Plotting?

Post by Narcís » Wed Jun 02, 2010 6:37 am

Hi M Weingarden,

First of all, please notice that latest v8 release available is v8.07. You can see the release notes at the version info page. We are constantly trying to improve performance andAlso, bug fixes and enhancements are implemented continuously but I don't think anything on this field has been done recently. Anyway, to optimize your application's performance I strongly suggest you to try to follow suggestion in the real-time charting article here.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

MTW
Newbie
Newbie
Posts: 21
Joined: Thu Jun 28, 2007 12:00 am

Re: Speed up Live Plotting?

Post by MTW » Wed Jun 02, 2010 10:22 am

Thank you for your response. I have read the article on real time plotting and have already implemented the features mentioned. The problem is that I am constantly plotting the same amount of data, adding the data to the graph every 200 msec and deleting data when the 60,000 point per series is exceeded. The system starts out using very little CPU, but as the count in the series increases, so does the CPU usage, until I hit the 60,000 points per series and it remains at a constant 75% CPU usage level.

The problem noted in this thread of searching through all the points, each time a point is added would certainly explain what I am seeing. I checked the release notes in 8.07 and did not see any reference to this, hence my asking if anything has been done. I assume that the newest release (2010) also has the same issue - is that correct?

Do you have any further suggestions as to what I can do to address this problem (especially since I do not have the source)?

Thanks again
M Weingarden

Narcís
Site Admin
Site Admin
Posts: 14730
Joined: Mon Jun 09, 2003 4:00 am
Location: Banyoles, Catalonia
Contact:

Re: Speed up Live Plotting?

Post by Narcís » Thu Jun 03, 2010 1:12 pm

Hi MTW,

Can you please attach a simple example project we can run "as-is" to reproduce the problem here? We will try to enhanced its performance.

Thanks in advance.
Best Regards,
Narcís Calvet / Development & Support
Steema Software
Avinguda Montilivi 33, 17003 Girona, Catalonia
Tel: 34 972 218 797
http://www.steema.com
Image Image Image Image Image Image
Instructions - How to post in this forum

MTW
Newbie
Newbie
Posts: 21
Joined: Thu Jun 28, 2007 12:00 am

Re: Speed up Live Plotting?

Post by MTW » Thu Jun 03, 2010 4:20 pm

I sent a simple demo through the upload page. To monitor the CPU usage, I ran Windows Task Manager and monitored the CPU usage of the process. When the program first starts running, the CPU usage stays about 12%. As data is added, the CPU usage slowly increases and reaches a steady 30% when the max data is added and the scrolling begins.

Thanks
M Weingarden

Post Reply