[Lazarus] Fast GUI

Michael Schnell mschnell at lumino.de
Mon Nov 30 15:22:39 CET 2015


On 11/30/2015 02:33 PM, Aradeonas wrote:
> Thank you very much Michael and I want to know more about this 
> system.Maybe It not used in this case but be used for my current UI 
> system or next one.

In fact there is no "system", just some obvious consideration.

As I stated we used Flash to create many small animated windows within a 
GUI,  and are happy with this, but this can't be considered a GUI system.

Regarding multiple threads (and with this CPUs) driving a rather 
standard GUI in parallel, I believe that something like this can be done 
using standard GUI libraries (like KDE or GTK, or Windows). If such a 
library gets an initialization call from a Process, it can detect the 
process ID and the Thread ID. it needs to allocate some memory for the 
future work. When we want to use a single GUI per Process and access it 
with multiple Threads (which might be forbidden) there would be a single 
base of resources per process (and if allowed, the library needs to 
synchronize multiple threads appropriately) . If we want to use multiple 
GUIs per Process (one per Thread) these resources would need to be 
allocated on a per thread base.

I can't believe that the API makers did not consider the two obvious 
cases (even though a process with multiple independent GUIs is not a 
very common task to do, but obviously the parallel work of multiple CPUs 
might speed up things.)

Obviously, if you want non standard speed, you need to consider non 
standard complexity.

-Michael




More information about the Lazarus mailing list