JavaFX performance for complex visualisations
zonski at gmail.com
Fri Nov 16 02:42:42 PST 2012
I haven't done much that you'd consider "graphically complex" but I did
build an app that had animations along the lines of an iPad application
(i.e. swipe left of a screen, fade-in/out, animated "popups") which also
did some pretty basic CAD-style stuff (a simple outline of a site
map). Running on pretty decent PCs and laptops a year ago and also
running on a Windows Tablet (
Performance was noticeably jittery and a tad slow - definitely not iPad
code could well have been optimised a bit but I wasn't exactly going for
anything too hard core (and I did ask here and on the forums questions
around writing performant scene/animation code but no response).
Here's an example of the sort of screen:
This would slide in from the right and slide out to the left, with
expansion and collapses and animated popups when you click buttons etc.
You'd "feel" the delay when you clicked something and sometimes the
animation would suddenly jump into action, doing nothing for a bit and then
a fraction of a second later jumping to where it should be before
completing the animation more smoothly. It wasn't unusable or anything but
it certainly wasn't Apple-slick.
This was on 2.0 and 2.1 from memory (about a year ago) and based on some
emails through here I think some work may have been done on performance.
Regrettably I've not had any other recent JFX projects to try it out on
though (at which point I launch into another rant about build and
deployment ;) ) .
On Fri, Nov 16, 2012 at 8:14 PM, John C. Turnbull <ozemale at ozemail.com.au>wrote:
> I am under the impression that JavaFX 2.x can be used to develop reasonably
> complex and demanding visualisations including games, animations etc. and
> that JavaFX 8+ will enable such visualisations to be 3D.
> However, as of yet, I have not seen any such advanced visualisations
> anywhere. The animation samples in Ensemble are obviously very rudimentary
> (probably intentionally) and I have not been able to find anything that I
> would classify as complex, demanding or advanced anywhere on the internet.
> And this brings me to ask a few questions:
> 1. Do any such games, animations or visualisations exist yet?
> 2. If not, how does Oracle or anyone else actually know that JavaFX is
> capable of supporting such applications?
> 3. Do I have the wrong understanding that JavaFX is supposed to support
> 4. Is it possible that, for whatever reason, JavaFX is simply not capable
> supporting such applications?
> My feeling that JavaFX can indeed support such applications is based on the
> fact that it is hardware accelerated and therefore it should be limited
> mostly by the capabilities of the graphics card and also because it is
> talked about in this way. However, I have observed varying levels of
> performance that don't quite follow these principles such as JavaFX
> performing poorly with choppy/jittery animations and transitions on my most
> powerful machine with an NVIDIA GeForce GTX 690 (the current fastest
> graphics card in the world) but performing quite well on machines with much
> lower specifications.
> So I guess I am curious to know what kinds of testing and evaluations
> has undertaken to determine the performance characteristics of JavaFX and
> exactly what kinds of applications it is actually suitable for. For
> example, I am yet to see any JavaFX application with even the
> of a Flash electronic greeting card or banner ad and yet I assume JavaFX
> will be used for such purposes eventually.
> I'd appreciate comments from Oracle and anyone who has in fact developed
> more complex visualisations/animations/games with JavaFX that aren't
> publicly accessible.
More information about the openjfx-dev