RE: [ROOT] Performance question: Updating a colz histogram

From: Ed Oltman (eoltman@imago.com)
Date: Tue Sep 03 2002 - 15:35:09 MEST


Valeri,
 Here are some more details (not in order asked)

2. I had the same problem in V 3.02/7 as well as 3.03/8

4. I am using a standalone root based application - e.g. I 
   create an instance of TRint.  The application is an MFC 
   SDI application where I took special pains to wrap the
   root stuff in its own class that does not have #include
   "stdafx.h" or any other windows/mfc stuff.

1. My application's view class has an OnTimer() method
   which in turn calls p2DH->Draw("colz") and 
   gPad->GetCanvas()->Update().

3. If you like, I could make a small mfc project that 
   displays the problem I'm having.

Note: you mention in subsequent e-mail that it is not
necessary to call the Draw() method each time.  If I do
not call the Draw() method each time, nothing gets displayed.

Note: The histogram is filled in a different thread than
it is displayed.  I use a win32 semaphore to protect the
object's filling with its display.

Note 2: In addition to the 2D histogram, I also have a couple
of 1-D histograms. [The object to display/update is seleceted 
at runtime.  All objects are filled all the time] The 1D 
histograms updating never slows down, only the 2D histograms

Ed Oltman

> -----Original Message-----
> From: Valeri Fine [mailto:fine@bnl.gov]
> Sent: Friday, August 30, 2002 5:31 PM
> To: 'Ed Oltman'; 'Roottalk@Pcroot. Cern. Ch'
> Subject: RE: [ROOT] Performance question: Updating a colz histogram
> 
> 
> Hello Ed,
>  Sorry, you didn't send an example to reproduce your troubles so I have
> to ask you some extra questions:
> 
>    1. What kind of timer do you use: synch or asynch ?
>    2. Did you see this problem before (with the previous version of
> ROOT) ?
>    3. Can you work out a small macro / code to reproduce the problem ?
>    4. Do you use "ROOT + macro"; "Root + your custom DLL"; your
> ROOT-based application alone ?
> 
>   Thank you
>               Valeri
> 
> -----Original Message-----
> From: owner-roottalk@pcroot.cern.ch
> [mailto:owner-roottalk@pcroot.cern.ch] On Behalf Of Ed Oltman
> Sent: Friday, August 30, 2002 5:35 PM
> To: Roottalk@Pcroot. Cern. Ch
> Subject: [ROOT] Performance question: Updating a colz histogram
> 
> Hello,
>  I have an online application which includes a 500x500 bin TH2F which I
> display in response to a timer with
> 
>     p2DH->Draw("colz");
>     gPad->GetCanvas()->Update();
> 
> (I've previously called gStyle->SetPalette(1,0))  Early on, when the
> histogram is still young, the refresh is pretty quick - refreshing at 2
> Hz
> uses a small amount (<10%) of the cpu time. Gradually, as the histogram
> fills, the refresh time increases - by the time the histogram has a few
> hundred thousand entries, (maximum bin contents is in the 10s) the cpu
> time
> is 80% and climing.
> 
> Is there something I could do to speed things up, short of adjusting the
> refresh rate?  I am using version 3.03/08 on Win32.  Thanks...
> 
> Ed Oltman
> 
> 
> 
> 
> 



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:06 MET