-
Notifications
You must be signed in to change notification settings - Fork 473
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Linux: 100% CPU when using external-message-pump or multi-threaded-message-loop #2809
Comments
Original comment by Mathieu Lafon (Bitbucket: mlafon, GitHub: mlafon). No, I have not tried to build a modified version. I am now using the standard loop (CefRunMessageLoop) and have made modifications to ensure that my other event loop is still called. Regarding my initial comment, the high CPU usage of cefclient when using multi-threaded-message-loop is not related to this modification. It seems to be related to the idle callback (tests/cefclient/browser/main_message_loop_multithreaded_gtk.cc) which is permanently triggered. |
Original comment by Guillermo Zunino (Bitbucket: Guilllermo Zunino). I’m facing the same issue, 100% CPU usage in linux with |
|
The external-message-pump problem could be issue #2970. |
Fix excessive CPU usage with external and multi-threaded message loops (fixes issue #2809, fixes issue #2970). → <<cset a3919cb0ec14 (bb)>> |
|
Fix excessive CPU usage with external and multi-threaded message loops (fixes issue #2809, fixes issue #2970). → <<cset a49878faee8c (bb)>> |
Fix excessive CPU usage with external and multi-threaded message loops (fixes issue #2809, fixes issue #2970). → <<cset 744847039285 (bb)>> |
Original comment by Stephan Engelmann (Bitbucket: Stephan Engelmann). We tested the fix using the CEF Automated build cef_binary_84.4.1+gfdc7504+chromium-84.0.4147.105_linux64.tar.bz2. After building the test applications and starting the cefclient application with the external message pump flag one core is always using 100% CPU. ./cefclient --external-message-loop |
…s (fixes issue chromiumembedded#2809, fixes issue chromiumembedded#2970).
…s (fixes issue chromiumembedded#2809, fixes issue chromiumembedded#2970).
…s (fixes issue chromiumembedded#2809, fixes issue chromiumembedded#2970).
Original report by Mathieu Lafon (Bitbucket: mlafon, GitHub: mlafon).
Since CEF 76 (3809), using external-message-pump or multi-threaded-message-loop on Linux causes a high CPU usage of the main process.
This is easily reproduced using cefclient on the latest CEF version (78.3.1+g8819d2e).
Based on my understanding, this seems to be related to https://chromium-review.googlesource.com/c/chromium/src/+/1594695. MessagePumpGlib::HandlePrepare() will always return a timeout equal to 0 because state_ is null, this was not the case in the previous version.
Using the standard loop (CefRunMessageLoop) is not always possible when we already have a message loop. Is there something that can be done for this issue?
The text was updated successfully, but these errors were encountered: