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