Hello! There is the following system:
Gentoo Linux with all the latest stable branch updates
Kernel 5.15.19 LTS
X.org Server 21.1.3
GeForce 660 / NVIDIA drivers 470.103.01
Qt 5.15.2
Lazarus 2.2.0
Free Pascal 3.2.2
Xfwm 4.16.1
The problem is the following. I compiled Double Commander from git repository. When compiling, I set lcl=qt5 in ENV variables.
Creating
any windows is visually very slow. First, the window frame is drawn (using Xfwm), then, after about ≈500 ms, the window is filled with content. I recorded a video, you can watch it below.
https://imgur.com/mipUIOmSurprisingly, when built with lcl=qt4, window rendering is much, much faster.
This problem has been reproduced for me for quite a long time, for two or three years, since of Lazarus 1.8.x. The entire graphics stack has since been updated many times, but the problem remains.
I also noticed that lags are practically absent in an empty project, perhaps the size of the created executable file somehow affects this. I made a simple application:
procedure TForm1.Button1Click(Sender: TObject);
begin
with TForm2.Create(Self) do
try
ShowModal;
finally
Free;
end;
end;
The result is on video:
https://imgur.com/zDy5LLLAll in all, it's quite a hindrance to using applications because, often, I press a sequence of buttons faster than the windows open. And until the window is created, it does not accept keyboard input. A classic example is deletion with confirmation. I press Delete and immediately Enter, but only pressing Delete works, and Enter has to be pressed again - after waiting for a window with a request to confirm the deletion to be drawn.
https://imgur.com/mcnibuDThe question, of course, is what could be the problem? Is it possible to fix it somehow? I am now forced to compile applications with lcl=qt4, but Qt4 is already removed from Gentoo, I have to use various tricks to keep it working on my system.