Open graynk opened 5 years ago
I see the same problem running Ubuntu 16.04.6 LTS on a Dell Precision Tower 3420 workstation with an Intel Xeon Processor E3-1225 v5, which includes the Intel HD Graphics P530 integrated graphics.
Run the JavaFX animation program at jgneff/epd-javafx on a similar system to see the problem. The output of the test program on my workstation is shown below.
$ $HOME/opt/jdk-12.0.1/bin/java --add-modules=javafx.graphics \
--module-path=$HOME/lib/javafx-sdk-12.0.1/lib \
-Dprism.order=sw -Djavafx.animation.pulse=8 \
-jar dist/epd-javafx.jar --width=800 --height=600 --pattern=3 --loops=0
Setting PULSE_DURATION to 8 hz
Frame rate: 80 frames in 10.06 s = 7.95 fps (126 ms/frame)
Frame rate: 80 frames in 10.04 s = 7.96 fps (126 ms/frame)
Frame rate: 80 frames in 10.06 s = 7.96 fps (126 ms/frame)
Key pressed: code = 0x51 (Q)
Total rate: 245 frames in 30.67 s = 7.99 fps (125 ms/frame)
$ $HOME/opt/jdk-12.0.1/bin/java --add-modules=javafx.graphics \
--module-path=$HOME/lib/javafx-sdk-12.0.1/lib \
-Dprism.order=sw \
-jar dist/epd-javafx.jar --width=800 --height=600 --pattern=3 --loops=0
Frame rate: 80 frames in 1.34 s = 59.63 fps (17 ms/frame)
Frame rate: 80 frames in 1.33 s = 60.21 fps (17 ms/frame)
Frame rate: 80 frames in 1.33 s = 59.95 fps (17 ms/frame)
Frame rate: 80 frames in 1.33 s = 59.96 fps (17 ms/frame)
Key pressed: code = 0x51 (Q)
Total rate: 351 frames in 5.84 s = 60.07 fps (17 ms/frame)
$ $HOME/opt/jdk-12.0.1/bin/java --add-modules=javafx.graphics \
--module-path=$HOME/lib/javafx-sdk-12.0.1/lib \
-jar dist/epd-javafx.jar --width=800 --height=600 --pattern=3 --loops=0
Frame rate: 80 frames in 0.37 s = 215.03 fps (5 ms/frame)
Frame rate: 80 frames in 0.33 s = 245.93 fps (4 ms/frame)
Frame rate: 80 frames in 0.34 s = 236.71 fps (4 ms/frame)
Frame rate: 80 frames in 0.24 s = 337.66 fps (3 ms/frame)
Frame rate: 80 frames in 0.30 s = 266.66 fps (4 ms/frame)
Frame rate: 80 frames in 0.36 s = 223.41 fps (4 ms/frame)
Frame rate: 80 frames in 0.38 s = 207.87 fps (5 ms/frame)
Frame rate: 80 frames in 0.42 s = 190.80 fps (5 ms/frame)
Frame rate: 80 frames in 0.42 s = 190.88 fps (5 ms/frame)
Key pressed: code = 0x51 (Q)
Total rate: 724 frames in 3.18 s = 227.92 fps (4 ms/frame)
I'd like to reopen this bug, since it's still present in JavaFX 11.
The maintainer who was unable to reproduce the issue had an NVIDIA card. I believe the problem lies with integrated cards like Intel HD.
I'm using a laptop with Intel i5-6200U CPU and Intel HD Graphics 520 on Fedora 30 (issue is reproducible 100% of the time both on X.Org and on Wayland). When launching the following program from this StackOverflow question, I get framerates over 1k+. If I run
java -Dquantum.multithreaded=false SimpleFrameRateMeter
then the framerate is limited to 60, as it should be. Initially I began investigating the issue when I noticed huge CPU consumption when usingFillTransition
in my code even when using ES2 pipeline.The program:
My
prism.verbose
output:java version:
When running on Windows, no such issue is present.