JavaFX performance for complex visualisations (original) (raw)

Daniel Zwolenski 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 ( http://www.motioncomputing.com.au/products/tablet_pc_f5.asp).

Performance was noticeably jittery and a tad slow - definitely not iPad speed/quality for example, closer to a JavaScript animation experience. My 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: http://damiansimpkins.com/projects/downstream/corso_audit/06/checksheet.htm This would slide in from the right and slide out to the left, with various 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 such applications? 4. Is it possible that, for whatever reason, JavaFX is simply not capable of 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 often 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 Oracle 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 sophistication 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. Thanks, -jct



More information about the openjfx-dev mailing list