[Lazarus] Fast GUI

Martin Schreiber mse00000 at gmail.com
Mon Nov 30 13:34:41 CET 2015


On Monday 30 November 2015 11:35:08 Aradeonas wrote:
> Hi,
>
> I am working on a specefic GUI that need to be too fast and for this I
> have fpGUI or mse but in this project I need fast image and resizing and
> as I tested the fastest way for this kind of jobs OpenGL is the best so
> I made a project on it and everything is great and much much fast! So I
> want to ask is there any works on creating GUI with OpenGl that not be
> only for games or be for games but useful for specific applications and
> maybe using OS theme.

MSEgui has an experimental OpenGL backend. OpenGL is not well-suited to 
support 2D GUIs IMO. Because of the many different versions and 
implementations, all with different extensions, limitations and bugs, working 
with OpenGL is a difficult task.
MSEgui uses hardware acceleration if available. A framework for animations 
with a central frame tick and the like is planned, although performance of 
simple hardware accelerated canvas drawing is not bad, see for example:
http://mseide-msegui.sourceforge.net/pics/blend.mpeg
http://mseide-msegui.sourceforge.net/pics/blend1.png
http://mseide-msegui.sourceforge.net/pics/blend2.png
http://mseide-msegui.sourceforge.net/pics/blend3.png
The project is here:
https://gitlab.com/mseuniverse/mseuniverse/tree/master/samples/widgets/blendpos
(needs MSEide+MSEgui git master version).

The code:
"
procedure tmainfo.childmouseeventexe(const sender: twidget;
                                   var ainfo: mouseeventinfoty);
begin
 image.face.image.center:=         
                TranslateWidgetToPaintPoint(ainfo.pos,sender,image);
end;
" 
The whole rest are design time property settings only.

> I remember FireMonkey but in what we have Lazarus? 

AFAIK FireMonkey has no good performance.

Martin




More information about the Lazarus mailing list