ProcessMessage сильно загружает процессор
Issue #234
resolved
При использовании Application.ProcessMessage на Ubuntu, приложение начинает использовать до 40% CPU и подвешивает систему.
Delphi 10.3 Update 3, FMXLinux 1.44, Ubuntu 18.04
P.S. На Windows и Maс OS работает нормально.
P.P.S. Аналогичный проект в Lazarus на Ubuntu так же работает нормально.
Comments (6)
-
-
repo owner Спасибо за сообщение - разбираемся.
-
reporter нашел достаточно простой workaround, если вместо Application.ProcessMessage использовать методы из libgtk-3, то процессор не грузиться, UI не подвисат
... function gtk_events_pending: boolean; cdecl; external 'libgtk-3.so.0' name 'gtk_events_pending'; function gtk_main_iteration: boolean; cdecl; external 'libgtk-3.so.0' name 'gtk_main_iteration'; ... procedure ProcessMessages; begin while gtk_events_pending do begin gtk_main_iteration; end; end; ...
-
reporter - attached ProcessMessageWorkaround.zip
-
repo owner Интересно, попробуем. Вообще мы используем - gtk_main для основного цикла.
-
repo owner - changed status to resolved
Fixed at 1.45
- Log in to comment
Your problem is similar to my problem:
https://bitbucket.org/crossvcl/fmxlinux/issues/102/applicationprocessmessages-does-not-work