I was surfing the Internet today, and I quickly found out that the JavaFX team had GA’d their 1.2 release. There are significant changes to JavaFX – and the 1.2 code is no longer compatible with the 1.1 code. But that is what happens when you have the rapid progress that JavaFX is having – and believe me, it is very good progress.
Many other sources have done a good job elaborating on the changes made in JavaFX. I’d like to point out a few noteworthy ones:
- JavaFX 1.2 Top 10 and Migration Guide – This guide points out the top ten changes, and gives tips on how to migrate the code
- The JavaFX Samples Page – an updated page showing several new and powerful examples.
- JavaFX Learning page – a really good set of tutorials and examples to learn from.
As far as I’m concerned, this release has several key points that I personally care about:
- Actually decent Eclipse Support!
- Runs on Linux (Ubuntu) and Solaris!
- Performance improvements!
The last one is probably the most important for me at this time. You see, I’m working with some friends to develop a game, and its going to have a lot of sprites on the screen at any given time. We have seriously been debating using the Slick2D libraries, as they’re really fast….but the elegance of JavaFX makes me always turn around and come back to it.
The performance just hasn’t been there – until now. You may remember my BubbleMark performance test for the JavaFX 1.1 release. Well, to sum it up, it did pretty well compared to the other RIA’s, however things got kind of dicey at 512 balls, taping out around 21 frames per second.
I recompiled the code (in Eclipse!) for JavaFX 1.2, and the results are…shocking. With 512 balls, I get 62.5 frames per second – a 3x speed up in performance. With 1024, I still manage to get 24.5 frames per second – which means I can render roughly the twice the number of images at the same framerate.
Embedded here is the BubbleMark applet to run.
NOTE: I have some issues in this release switching the number of balls in the test…I am looking into it…
I think that this release represents a strong advance. The code is getting better and better, and I can’t wait for future releases. If they keep up these performance increases, no one will be able to touch them
Great, thanks for the info!
Applet freezes when changing the number in the dropdown…
Yeah – I have a warning below the Applet of that behavior. I’m investigating why…although I do think that it is a bug with the 1.2 release as this behavior did not happen with the 1.1 release.
[...] hidden repercussions. A lot of people have made an argument why using the canSkip attribute in my BubbleMark test code ‘ruins’ the test…let me assure you, it does not…and I’ll [...]
[...] 1.2 received a strong welcome from developer bloggers this week. The JavaFX Journey blogger wrote, “The code is getting better and better…If they keep up these performance increases, no one [...]
[...] we have improved every part of the JavaFX user experience. For certain tasks you will see as much as a 3x improvement over the previous [...]
Great stuff… but it seems we’re having some duplication of effort. I’ve been maintaining the “official” version of JavaFX Balls, and besides keeping it up to date with latest JavaFX builds, also doing minor improvements and fixes. You did _different_ improvements that I liked too, I could just copy them but perhaps we can get sync and avoid the wasted work?
I’ve just read your other blogs and source code, now I see that you’ve done an independent JavaFX port of bubblemark! I thought it was another mod of the version created by Richard Blair, Alexey Gavrilov, and then me. The JavaFX team also seems to have used that code and probably done their own maintenance during 1.2 development.
Now I don’t know if it’s a good idea to merge our stuff, the codebases are significantly different… what do you think? Perhaps we can just learn with each other.
[...] Perspective JavaFX 1.2 released recently. Many of you may have seen my article relating to the performance increases, but I never went into the other benefits of this release, and why they’re important. At the [...]
[...] you remember my BubbleMark test, you would know that performance drops off around 512 nodes or so… That means that if I were [...]
[...] while back, I published my take on BubbleMark – a benchmark of sorts for RIA’s. It was simple enough – and some other people [...]
When I am opening this in firefox with lots of other tab are already open(around 8 tabs) and changing FPS from dropdown then My system goes drastically slow and application termination also takes time though my system is 2 GB Ram with 2.4 GHz system with Vista. is it happening everywhere?
Thats a problem with my code…I haven’t gotten around to fixing it…been too busy with Clash.