Page 1 of 1

IUP List Versus Tree Performance

Posted: 23 Jan 2012 00:38
by tatewise
In developing my Plugin I have discovered the performance difference between the iup.list and iup.tree controls is remarkable.

iup.list provides a basic drop-down list similar to a menubar item.
On my Windows 7 PC these lists are populated at roughly 1,000 items per second.
If the list has a tool tip defined, then it is about 4 times slower.
With large lists this becomes intolerably slow.
The autoredraw option Set to NO to add many items to the list makes no difference.

iup.tree provides a hierarchical tree similar to a Windows Explorer navigation pane.
Even though the tree structure is more complex, these are populated at roughly 50,000 items per second.
Whether it has a tool tip or not makes no difference.
Also autoredraw has little effect.

Is there anywhere this can be reported to get an improvement or an explanation?

ID:5850

IUP List Versus Tree Performance

Posted: 23 Jan 2012 07:51
by Jane
The 'IUP discussion list' is your best bet, Antonio is pretty good at checking in to these things.

http://sourceforge.net/projects/iup/

IUP List Versus Tree Performance

Posted: 26 Jan 2012 09:32
by tatewise
This is Antonio's reply to my E-mail:
 Hi Mike,

 Thanks for reporting this.

 IupList is not used very often for large lists. But looking carefully at the code I found a possible source for your problem.

 I uploaded a new iup DLL at:

http://www.tecgraf.puc-rio.br/~scuri/tmp/

 Please let me know if this helps. I suggest using “appenditem”.

 Regarding to the TIPS attribute I have no idea why it makes it slower. The tips management is completely independent from the IupList.

Best Regards,
Antonio Scuri
I have a workaround for the TIP attribute.

Is there anything that can be done regarding his new iup DLL ?
e.g.
Can I simply preserve the existing C:Program Files (x86)Family Historian 5.0 BetaProgramiup.dll and replace it with his new iup.dll, then after testing it, restore the original?

IUP List Versus Tree Performance

Posted: 28 Jan 2012 18:09
by Jane
Yes that should work fine (unless he has a newer version off IUP all round, but I would do a reboot when you swap them, I know the DLLs should be cleared when FH ends, but just to be safe.

IUP List Versus Tree Performance

Posted: 30 Jan 2012 11:55
by tatewise
Unfortunately, simply substituting the iup.dll did not work.
As soon as a Plugin is run then FH stops working.

I note that the FH iup.dll is 486 KB whereas Antonio's iup.dll is only 436 KB.

It is no longer urgent because the tree list is a better option than the dropdown list for my Map Life Facts Plugin.