-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High CPU usage with multiple detached windows #3169
Comments
Your finding is interesting, but not sure what we can do about it. The "UI Freezeup" messages are from the https://github.com/ControlSystemStudio/phoebus/blob/master/core/ui/src/main/java/org/phoebus/ui/monitoring/ResponsivenessMonitor.java
We do know that JavaFX needs more and more time as the scene graph grows. That's why we're trying to keep the scene graph small. For example, our plots are not like the JavaFX charts where every tick mark on the axis is a "Line", every number on the axis is a "Label" and so on, because that way one plot would easily become a sub-scene with 1000+ nodes. Instead, we create plots in background threads as images, and in the JavaFX scene graph it's then a single node for displaying the picture. See https://github.com/ControlSystemStudio/phoebus/tree/master/app/display/representation-javafx/src/test/java/org/csstudio/display/builder/representation/javafx/sandbox for things that were tested. So back to your finding. What you see is basically that this scene graph:
is faster than this one:
Maybe you can try those displays that you already created for your tests on Windows and Mac? Maybe also on different Linux setups? |
I have been testing the performance of Phoebus, measuring the CPU and memory usage. I have found that the CPU usage is very high when opening multiple screens in detached windows in Phoebus. I have tested opening 10 windows from the command line using the following command:
The CPU usage of Phoebus was ~120%, while opening the same number of standalone windows in CS-Studio was of order 40%.
In addition I see a lot of threading related exceptions thrown when initially opening 6 or more detached windows in this way. Below is a snippet but I have also attached the full log: phoebus_thread_exceptions.txt
Further info
?target=window
extension).-Dprism.forceGPU=true
, which only increased the CPU usage.Is this something that has been noticed before with multiple detached windows?
The text was updated successfully, but these errors were encountered: