wanting to try a GUI toolkit: needing some advice on which one to choose

drug drug2004 at bk.ru
Wed Jun 2 09:37:10 UTC 2021


02.06.2021 00:47, Ola Fosheim Grøstad пишет:
> Note: Many simple GUI toolkits are horribly inefficient as they let each 
> object render themselves.  An efficient GUI engine will have to 
> replicate some of the browser complexity...

I tried retained and immediate GUI, both fail (imho) for my use case - 
large data set of 1M+ heterogeneous items. GTK and Qt are very 
complicated in case of TreeView widgets in contrast to dear imgui or 
nuklear. In retained GUI (GTK and Qt) you need to prepare your data, 
create some intermediate data, probably copy data. TreeView in immediate 
GUI (imgui, nuklear) is pretty trivial and intuitive - you just use your 
data w/o anything else but it draws all items always so immediate GUI 
works nice if you have small data set. nuklear lets you use large data 
set but only if items have the same height. But because an item of 
TreeView can be collapsed or not its height changes and you need to 
calculate height for each items - you can do it yourself but available 
implementations of immediate GUI aren't capable to use that info so you 
need to modify immediate GUI core system and that is very complicated 
job in contrast to retained GUI where adding new widget is much easier.

I was forced to invent my own wheel some where in-between retained and 
immediate GUI. Later I got know that it worked like browsers did (of 
course in general). I think that browser-like GUI is the future. Just 
current browsers are very over-engineered.

My impression is that immediate and retained GUI belong to different 
domains and are not interchangeable. Browser-like GUI is superset of 
both retained and immediate GUI. Just it should be implemented properly.


More information about the Digitalmars-d-learn mailing list