[ROOT] TGListBox/TList/MapSubwindows() timing issues

From: Mark Thomson (thomson@hep.phy.cam.ac.uk)
Date: Tue Aug 14 2001 - 14:35:33 MEST


Dear Rooters,

I have written a simple GUI application to log error messages based
on the TGListBox class. I allow for upto 1000 entries. After 1000 entries,
all new entries result in the first entry being deleted  
            TGListBox->RemoveEntry(id);
and the new entry being added to the end of the list
            TGListBox->AddEntry(pListBoxTextEntry,pLayout);

This works well and can cope with high message rates ( ~100 Hz ) until 
1000 entries have been filled. After this messages can only be logged
at ~4 Hz. The bottleneck occurs in TGListBox::MapSubwindows()

It is somehow connected to removing objects from the TList in the
listbox container. 

I've tried to investigate the causes and find that if I remove the
last entry rather than the first entry of the list then rate problems
go away. It seems that calling fListBox->MapSubwindows() after removing
the first entry in the list burns CPU.

One final piece of information, if the screen is iconized the rate
problems also go away. 

I'm using Root V03_01_06 on a 750 MHz pc running Linux. 

            Any suggestions ?
                   cheers,
                     Mark Thomson



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:57 MET