Qapplication, TQtWidget and histogram drawing

Yes, I did say this with my [QtRoot] Canvas update problem
The core reasons were not fixed, namely,

  1. The ROOT core tries to paint the TCanvas several times one image over another one. On X11 it is just slow down the rendering
  2. Each time the ROOT tries to guess the actual widget pixel size. That size is slightly different due rounding between Qt and X11 Windows manager and between the rendering passes. This can be neglected if one paints the canvas one time only and /or the size remains the same between passes. With several paintings the effect may become visible.

The solution:

1) Paint the TCanvas at once ( All platforms will benefit.  It will be faster)

2) Do not guess the widget size. Always ask the lower level "window manager" (X11 or Qt or Win32 ) about the canvas current actual size or something like this.  The current approach was adopt a whi-i-i-i-i-le  ago.  It was likely chosen at the time the network connection was slow and expansive.  I am wondering if ROOT (PAW in fact) could not afford  to ask  the remote X-terminal what the real widget pixel size is frequently.
  1. ROOT should not use the transparent color code to wipe the TCanvas. The lower GUI level is given no clue whether the user code wanted the real transparent layer over the existing one or wanted the clean the TCanvas. That has been working for X11 for years because X11 ROOT implementations did not provide any transparency at all

Mean time , there is no magic wand . One has to spend time digging the recent ROOT code to look for 1) ,2) or 3) “new” violations and/ or use the older version.

I’ll check whether some workaround can be done from within QtRoot layer ( I did not find that last time. It was simpler for me to find the core ROOT issue and patch it)