We’ve been working hard on performance lately for FX 8. Following is a performance report from Katya Pavlova, one of the members of our performance team who gives us regular (at least weekly) updates on the performance of the platform.
Notable Improvements (comparing to fx2.2-b21-ga)
There are a lot of improvements integrated into fx8.0. Most significant are:
- Multithreading has been implemented and turned on
- RT-15195 “Allow QuantumRenderer thread and FX Application thread to run in parallel”
- A lot of Controls improvements including:
- RT-23873 “Investigate (and improve) ListView / TreeView / TableView performance”
- RT-20840 “fx2.2-h17-b01: Adding new column to TableView results in creating new N columns instead of 1”
- RT-22244 “Pisces Renderer shows huge performance win when coded in C”
- Web node improvements
JavaFX 8.0 performance was improved for almost all benchmarks. In particular performance was improved for:
- more than 50% in Charts
- more than 100% in some Controls
- up to 30% in DirtyArea
- more than 20% in FXFire
- up to 30% in Guimark2.Bitmap and Guimark2.Vector
- up to 30% in JFXPanel-GUIMark2.Bitmap and more than 100% in JFXPanel-GUIMark2.Vector
- more than 30% in Layout
- up to 20% in WebNode.Guimark2-Text
RT-15195 – it seams we are not allowed to view this
Hi Adam, I’ve made it public. Thanks!
Great work!!! Any news regarding to Retina display support?
Hi Jose, the feature you want to track is: http://javafx-jira.kenai.com/browse/RT-24009 “Support for Hi-DPI displays” (currently scheduled for JavaFX8).
Thanks for the information. I’ve already voted for this feature. 🙂 Is there any way to “simulate” retina resolution just for development mode in Mountain Lion? It seems that lombart will take some time!!!
JavaFX continues to impress me more with each release. Each release is packed with great stuff. The JavaFX team is doing an awesome job. I’m looking forward to taking advantage of the performance improvements as well as the pile of other great features coming with the 8.0 release.
JavaFX seems to have an amazing future in my opinion.
I like the fact that each release has many many improvements.
Performance improvements are really needed.
I hope the JavaFX team will keep working like.
There is one thing which I miss: integration between Scene Builder and FXExperience tools. 🙁 It would be nice to have those controls in Scene Builder also.
Often there is a tradeoff in cpu performance vs memory performance. Did memory consumpution need increase in a meaningful way to achieve these performance improvements?
I would have to check our performance numbers to be certain, but I believe actually we have also reduced the memory usage over the same period, primarily due to making Control a Region and removing one extra node for most Controls (for example, a Button is now a Button -> Text, instead of Button -> StackPane -> Text).
That’s great 🙂
But could you publish javafx 8 results versus java 2.2, flash, html5, swing and silverlight versions please ?
Could you do the same for guimark 3 ?
It will very interesting to track javafx progression.
Technical director of french software company
Great to see improvements performance-wise! Are these JavaFX benchmarks published somewhere?
When we can taste the beta? 🙂
@anatoliy Weekly snapshots are downloadable here: http://jdk8.java.net/download.html
I am watching JavaFX for some time now. It is really great! But still there are lots of performance issues. I don’t understand why the size of a stage influences the framerate even though most of the window is empty. Doesn’t JavaFX use dirty regions? In my case the framerate sometimes drops far below 60 fps even if I only show a few nodes. I created a benchmark to demonstrate the problem: http://mihosoft.eu/?p=280
i have problem with runing javafx application on micgrating jdk7 to jdk8