Re: [ROOT] Update on the state of Windows GUIs

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu May 08 2003 - 21:53:47 MEST


Hi James,

Some complementary information to the answers by Valeri and Fons:

For many years, we had only one version under Windows. This version
was originally developed by Valeri. The graphics classes drawing in
the canvas were identical with the Unix version, but the GUI was based
on a native WIN32 interface. The fact that the GUI classes were
different from the Unix classes had become more and more difficult
to maintain.

Two years ago, Bertrand Bellenot started the win32gdk version.
The GUI classes (TGWin32gdk) are fully compliant with the Unix
version TGX11, being derived from our abstract interface TVirtualX.
It has always been our intention to make the win32gdk version
the default version under Windows. However, for many months, this
version had been too slow to pretend replacing the original win32
version. WE are just about to introduce the version 3.05/05.
This version is at least twice faster than the previous version.
We are currently working on speed improvements to make this version
as fast as the Unix/X11 version (see some numbers below).
This version will replace the win32 version in the coming weeks.
When you take this version, you do not need additional libraries.
Everything is provided in our binary or source distrbutions.

Two years ago, Valeri started the development of the ROOT version based
on Qt. The idea is to have a fully compliant TVirtualX implementation.
The version that Valeri is currently distributing IS NOT TVirtualX
compliant. For example, the Root Browser is different and the TreeViewer
is based on the very first and old implementation.
Valeri expects to make his version fully compliant with TVirtualX.
It has to be 100% compliant, not just 99%. The remaining 1% seems
to take more time than expected. It is up to Valeri to comment on
a precise date when he believes that he will have a working version.
The Qt version requires the Qt libraries (commercial under Windows).
You can use the executable modules for free, but you need a development
license as soon as you want to build a GUI application.

This summer, we are planning to make a serious upgrade of many
ROOT widgets (TAttFill, Line, Text, Marker, the editor, etc).
This upgrade will assume a TVirtualX interface only.

I also want to mention a very recent addition to the list of Windows
version by Axel Naumann. Axel is working on the win32gcc version
that requires the CYGWIN ennvironment. This version looks like Linux,
based on gcc3.2 and X11. I have been playing with this version in
the past few weeks and it looks to be an interesting option for
Windows users. Of course, this version is compatible with Linux.
We will build the win32gcc binary tar file with the coming 3.05/05.

Coming back on the speed issue, I have run the 4 versions on my laptop.
Here are the results:
 - original win32 version     : 678 Rootmarks with benchmarks.C
 - Valeri new Root/Qt version : 389 Rootmarks
 - Axel win32gcc              : 415 Rootmarks
 - new win32gdk               : 267 Rootmarks

For the non-graphics benchmarks, the 3 versions compiled with VC++
(win32, win32gdk, Qt) show a similar performance.
The win32gcc show a much better performance with the tests like
stress and bench (up to a factor 2 better than VC++).

Rene Brun

On 
Thu, 
8 
May 2003, James Peachey wrote:

> Hello,
> 
> I'm just writing to find out the latest news on portable Root
> GUIs. Specifically, I understand at one time there was an effort
> to develop a common Root source tree which builds on Unix and
> Windows, which offers a full implementation of the Root GUI
> classes (TG*) on both architectures, and which does not require
> any other proprietary software (other than the Visual Studio
> compiler to build it.)
> 
> Is this in fact the case? If so, what is the timescale for its
> completion? If not, are some other developments in the works
> to support Root GUIs on Windows?
> 
> Thanks,
> James
> 
> PS: Apologies if there was a recent thread on this subject which I
> somehow missed when I searched the archives...
> 



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET