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