Hello Ed,
I am sorry I had had a few days of vacation and missed your message.
Please send me your project to try.
> 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
>
[Valeri Fine]
Have you observed the slowing down with other 3D option but "colz"
My guess only that option causes your problem doesn't it?
[Valeri Fine]
I really want to see your project. Anyway a few comments:
1. Win32 version of ROOT performs the TCanvas painting in a separate
thread anyway.
2. I guess you should use ROOT TTimer class to manage things properly
instead of your OnTime.
3 I think ->GetCanvas()->Update(). Is not sufficient. First you need
gPad->Modified();
Try this and remove the extra Draw's method.
Best regards, Valeri
> 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:08 MET