I've been asked to post the slides for the JavaFX presentation that I delivered at JavaZone 2008. Because the presentation itself was written in JavaFX, I've bundled it up so that you can run it from a Java Web Start link. First, however, I'd like to show you some screenshots and provide an explanation of what you'll be looking at:
As shown above, the presentation (entitled Vikings and Wizards in JavaFX) is shown on the faces of a rotating cube. The Norwegian Java Users Group, named javaBin, does a great job in organizing the JavaZone conference, which also explains the graphics on the first "slide".
To view the next or previous slide, you can click the image buttons that have a right or left pointing triangle, respectively. This will rotate the cube, which is accomplished using the PerspectiveTransform effect, located in the javafx.scene.effect package.
Some of the slides are "live" (running JavaFX functionality within them). For example, you can interact with the TetrixJFX game, the "Are You A Viking" wizard, the custom node examples (MenuNode and DeckNode), and the morphing example. For the latter, just click on the yellow circle and watch the morphing begin! To see more information about these applications, visit the blog posts for TetrisJFX, Vikings and Wizards, Rolling Your Own Custom Nodes, and Getting Decked
By the way, the presentation runs in an undecorated Frame, which means that there is no border, Close box, etc. I make my desktop background black and minimize any open windows before presenting so that the cube appears to be rotating in a big dark space. As soon as the graphics designer (Mark Dingman of Malden Labs) gets a chance to create a cool looking graphical Close box, I'll put it in the application. For now, however, you'll have to end the application manually. You'll need JRE 6 to run this, and Java SE 6 update 10 will give you a faster deployment experience. Go ahead and give it a whirl by clicking the Java Web Start button below!
Note: Please keep in mind that this is running with the JavaFX Preview SDK which has not been optimized for performance. Behavior and performance of the PerspectiveTransform on Vista, for example, are definitely sub-optimal at the moment. These are known issues that the JavaFX GUI team is confident have already been corrected in the upcoming JavaFX SDK 1.0 release.
Regards,
Jim Weaver
JavaFXpert.com





When you can't run tetris fast enough to be playable on a modern desktop machine - something is wrong... regardless of how "unoptimized" it is. If you didn't go out of your way to make it perform bad, it just shouldn't be possible to make it that slow.
I'll keep my fingers crossed for 1.0 because I want to use JavaFX in some new projects. But performance needs to improve by a few orders of magnitude.
Posted by: swpalmer | October 31, 2008 at 11:45 AM
"Jim, has the presentation been moved? I'm not able to launch it."
Sravan,
The web server was temporarily down. Thanks for the heads-up. Please try again.
Thanks,
Jim Weaver
Posted by: Jim Weaver | October 20, 2008 at 10:04 AM
Jim, has the presentation been moved? I'm not able to launch it.
Posted by: Sravan | October 20, 2008 at 06:48 AM
Wow, amazing.
It worked here, with Ubuntu Linux, Java 1.6.0_07. Low fps, but I can see the potencial!
Posted by: Silveira Neto | October 06, 2008 at 11:23 PM
I have now tested this under XP and it is still running at 3-4 fps... Totally unusable IMO.
Posted by: Bill Wright | October 03, 2008 at 08:22 AM
I love the concept, but looking through the code and it appears to have fixed height and width. Based on the UNDECORATED window it looks like it really needs to be run maximized when it launches. I've done this using other languages, but how could it be modified to do that using JavaFX?
Posted by: Eric | October 01, 2008 at 12:03 PM
I love the concept, but looking through the code and it appears to have fixed height and width. Based on the UNDECORATED window it looks like it really needs to be run maximized when it launches. I've done this using other languages, but how could it be modified to do that using JavaFX?
Posted by: Eric | October 01, 2008 at 12:02 PM
Actually it looks very odd to me seeing a 3d effect without any shading..
Posted by: Michael Nischt | October 01, 2008 at 02:42 AM
"Very good point. The current JavaFX SDK is a preview release, but the JavaFX SE 6 update 10 is a release candidate. I'll submit this to the attention of the JavaFX GUI team."
As an update, I did ask the JavaFX GUI team about this, and Kevin Rushforth of Sun said that the PerspectiveTransform issues, and its performance on Vista, are known issues and have (hopefully) already been fixed in the upcoming JavaFX SDK 1.0 release.
Thanks,
Jim Weaver
Posted by: Jim Weaver | September 30, 2008 at 12:54 PM
"Jim, if that is the case, and there can be such a big performance improvement, they should not call it RC... 99% of the users that have tried your app don't invesigate to post, they just goes away thinkig, JavaFX, slow as heck..."
Bill,
Very good point. The current JavaFX SDK is a preview release, but the JavaFX SE 6 update 10 is a release candidate. I'll submit this to the attention of the JavaFX GUI team.
Thanks,
Jim Weaver
Posted by: Jim Weaver | September 30, 2008 at 12:44 PM
Jim, if that is the case, and there can be such a big performance improvement, they should not call it RC... 99% of the users that have tried your app don't invesigate to post, they just goes away thinkig, JavaFX, slow as heck...
Posted by: Bill Wright | September 30, 2008 at 12:38 PM
"I seriously hopes it is just a bug, because if it isn't. Well... This alone will push me to the Flash side."
Bill Wright,
Yes, there are known performance issues with PerspectiveTransform in the JavaFX SDK Preview release. I'm running Vista as well, and it is noticeably slower than on Windows XP, and the perspective problems that you pointed out seem to be unique to Vista as well. I'm told that the PerspectiveTransform API will change to become easier to use (doing 3D calculations for you, etc.)
Please don't gauge performance expectations from the JavaFX SDK preview release. For example, I saw a post in the JavaFX compiler mailing where sequence manipulation was improved by a factor of greater than 100 IIRC.
Thanks,
Jim Weaver
Posted by: Jim Weaver | September 30, 2008 at 12:17 PM
The animation, besides that it has the perspective transform all wrong (look at the Viking), runs at about 4 fps on my fast computer (anything below 30 fps is not smooth). And, I am running under 1.6 update 10 RC 2 on a Vista 32bit installation.
The app takes 50% CPU even when nothing is happening and it consumes 120 Megabyte of memory.
I seriously hopes it is just a bug, because if it isn't. Well... This alone will push me to the Flash side.
Posted by: Bill Wright | September 30, 2008 at 12:05 PM
very nice. Any plans to update your book? I bought a copy last year and I know a lot has changed since then.
Posted by: sboulay | September 30, 2008 at 10:36 AM
By the way my Mac is a core 2 duo 2ghz with 2 gb of ram and ati 3d accelerator with 128mb, Java 6_07 and Leopard 10.5.5. It runs very good just little flicker when is doing the 3d effect.
I suggest to people update your Mac software and for the folks with 32 bit cpu it is already in many Faqs and blogs is well said Java6 doesnt run on 32bit cpu, Why continue to bother with it, just upgrade your machine.
Posted by: Chekke | September 30, 2008 at 09:46 AM
This is impressive, Well done Jim. It runs on my Mac pretty well just little bit flicker with the 3d effect but still very good. Where did you get those buttons arrows?. I would really like if you could get together all your papers and bring us a second book with the new tech. Also It could be great if you could make/sell an online webinar or tutorial on how to use more effective JavaFX.
Posted by: Chekke | September 30, 2008 at 09:40 AM
nevermind.. i just saw you need jre6, which apple won't let me use because i only have a 32-bit core duo. oh well..
Posted by: lowell | September 30, 2008 at 09:37 AM
throws an exception in mac os 10.5.2:
java.lang.Exception
at com.sun.javaws.Launcher.continueLaunch(Launcher.java:915)
at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:522)
at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:218)
at com.sun.javaws.Launcher.run(Launcher.java:165)
at java.lang.Thread.run(Thread.java:613)
Posted by: lowell | September 30, 2008 at 09:35 AM
Cool effect .
can you give us the source or example how to use PerspectiveTransform.
btw maybe will be nice if you show some effects* and examples how to use them.
P.S. I dont know why but in my working station in work i have procesor at 3ghz with Intel Extreme Graphics 3100 with default WIndows XP drivers and this example runs very slow dont know why.
Posted by: JOKe | September 30, 2008 at 04:32 AM