Hi Damir, Int_t lowRes = 0; if (3*nrPix < last-first+1) { lowRes = 1; } So when the number of bins is 3* larger than the number of horizontal pixels. > X-Authentication-Warning: pcroot.cern.ch: majordomo set sender to owner-roottalk@root.cern.ch using -f > Date: Fri, 16 Feb 2001 19:01:37 +0100 > From: Damir Buskulic <buskulic@lapp.in2p3.fr> > X-Accept-Language: en > MIME-Version: 1.0 > To: roottalk@pcroot.cern.ch > Subject: Re: [ROOT] drawing speed in online monitoring > Content-Transfer-Encoding: 7bit > X-Filter-Version: 1.3 (ram) > > Hi Rene, Fons, Eddy, > > Indeed, I'm seeing the problem with large (10000-20000) number of bins, > not so much with small histograms. And just before Eddy's mail, I was > thinking that it would be nice to implement his algorithm ! Since it is > done, it's fine. What is the size at which the algorithm begins to do > it's job ? > For what concerns fons's suggestions, I did them and this is clearly not > the main problem, since I was already not using the TTF fonts. > > Thanks anyway for your suggestions. I'll try to squeeze a little bit > more from my code but I'm afraid I can't do much. > > Damir > > Rene Brun wrote: > > > > Hi Eddy, > > I do not think that Damir is using histograms with a large number of bins > > in this example. So your algorithm is not faulty. By the way, your algorithm > > is there to gain and not loose time. Damir's problems, as mentioned by Fons, > > are connected with the fonts. > > > > Rene > > > > Eddy Offermann wrote: > > > > > > Hi Damir, > > > > > > I guess I am responsible for the effects you are seeing. > > > Around version 2.23 I submitted a change to the drawing engine. > > > Before the change the drawing speed was canvas size independ, it would have > > > taken 14 sec in both of your cases. > > > I made the algorithm smarter. If you draw your histogram with a simple > > > line, it decides whether draw it in low or high res mode. In low-res mode, > > > it first looks up the number of pixels > > > of your canvas in the horizontal direction. Then, for each pixel it will > > > calculate the minimum and maximum vertical pixel and will then draw a vertical > > > line connecting them, obviously saving a lot of time when the canvas is > > > smaller > > > > > > for details look in TGraph.cxx and serach for the following lines > > > > > > // Make here decision whether it should be painted in high or low resolution > > > Int_t lowRes = 0; > > > > > > Here the algorith starts. > > > > > > I thought it was the best kept secret in ROOT, oh well you find out :-} > > > > > > Eddy > > > > > > > X-Authentication-Warning: pcroot.cern.ch: majordomo set sender to > > > owner-roottalk@root.cern.ch using -f > > > > Date: Fri, 16 Feb 2001 15:04:23 +0100 > > > > From: Damir Buskulic <buskulic@lapp.in2p3.fr> > > > > X-Accept-Language: en > > > > MIME-Version: 1.0 > > > > To: roottalk@pcroot.cern.ch > > > > Subject: [ROOT] drawing speed in online monitoring > > > > Content-Transfer-Encoding: 7bit > > > > X-Filter-Version: 1.3 (wren) > > > > > > > > Hi, > > > > > > > > There was a thread a few months ago about drawing speed of ROOT. I'm > > > > trying to replace PAW routines by ROOT ones in an online data display > > > > program. The main observed difference is the drawing speed in the case > > > > of ROOT, which is much slower than PAW. While I can understand this (a > > > > factor of two in the best case) it is difficult to understand the > > > > variation of drawing speed with the canvas size. Try the following macro > > > > : > > > > > > > > { > > > > gBenchmark->Start("toto"); > > > > c1 = new TCanvas("c1","test",10,10,700,700); > > > > h = new TH1F("h","h",1000,0,10); > > > > for (int i=1;i<100;i++) { > > > > h->Fill(gRandom->Gaus(5,1.5),1); > > > > h->Draw(); > > > > gPad->Update(); > > > > } > > > > gBenchmark->Show("toto"); > > > > } > > > > > > > > on my machine this needs around 14 s real time to be completed (Alpha > > > > XP1000). > > > > change the size of the canvas to 50x50 (not usable, it's just for > > > > demonstrating the effect), the real time goes down to 2.8s ! > > > > > > > > Though fons explained the speed difference between PAW and ROOT, he > > > > stated that the drawing speed should not depend much on the canvas size. > > > > This is true for CPU time but not for real time. > > > > > > > > I also tested on a distant display, and the results are the same (14s > > > > and 3s). > > > > > > > > In our context, and if this figure cannot be changed, I don't see yet > > > > how to use root to display in real time a set of 10 histograms or plots. > > > > > > > > Anyone has a suggestion ? it will be welcome ! > > > > > > > > Cheers > > > > > > > > Damir > > > > -- > > > > ===================================================================== > > > > | Damir Buskulic | Universite de Savoie/LAPP | > > > > | | Chemin de Bellevue, B.P. 110 | > > > > | Tel : +33 (0)450091600 | F-74941 Annecy-le-Vieux Cedex | > > > > | e-mail: buskulic@lapp.in2p3.fr | FRANCE | > > > > ===================================================================== > > > > mailto:buskulic@lapp.in2p3.fr > > > > > > Eddy A.J.M. Offermann > > > Renaissance Technologies Corp. > > > Route 25A, East Setauket NY 11733 > > > e-mail: eddy@rentec.com > > > http://www.rentec.com > > -- > ===================================================================== > | Damir Buskulic | Universite de Savoie/LAPP | > | | Chemin de Bellevue, B.P. 110 | > | Tel : +33 (0)450091600 | F-74941 Annecy-le-Vieux Cedex | > | e-mail: buskulic@lapp.in2p3.fr | FRANCE | > ===================================================================== > mailto:buskulic@lapp.in2p3.fr Eddy A.J.M. Offermann Renaissance Technologies Corp. Route 25A, East Setauket NY 11733 e-mail: eddy@rentec.com http://www.rentec.com
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:36 MET