Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (539)
Games in Android Showcase (133)
games submitted by our members
Games in WIP (603)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 [2] 3
  ignore  |  Print  
  JavaFX Graphics Stack  (Read 28699 times)
0 Members and 1 Guest are viewing this topic.
Offline Spasi
« Reply #30 - Posted 2009-01-19 15:03:07 »

AMD launches 760G platform
Offline bienator

Senior Devvie




OutOfCoffeeException


« Reply #31 - Posted 2009-01-19 22:17:31 »

but if we are cool with 6fps when scrolling 600*600 graphics; then maybe java2d will be ok for a few more years yet- but how many do we think?
well the foundation for such a discussion is a JavaFX runtime which is as fast as Java2d: http://weblogs.java.net/blog/opinali/archive/2009/01/javafx_first_pr_1.html then we could estimate how long java2d will be ok.

[edit]fixed typo

Offline trembovetski

Senior Devvie




If only I knew what I'm talking about!


« Reply #32 - Posted 2009-01-19 23:50:03 »

Poor FX results in the blog above is not related to rendering (you can see that Swing app using the same rendering pipeline - Java2D) performed well), but to the scenegraph scalability issues.

Having said that, Java2D (on windows with the d3d pipeline) is fine for image-based rendering, but shape rendering performance is sub-par even with the accelerated pipeline.

Dmitri
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline bienator

Senior Devvie




OutOfCoffeeException


« Reply #33 - Posted 2009-01-20 00:28:59 »

i know alex, it is rather a combination of multiple factors. I filed a bug for one of them: http://javafx-jira.kenai.com/browse/RT-3051
(effects like gaussian blur are another example where JavaFX performes very well because of its hw accel. backends and native implemetations)

Offline princec

« JGO Spiffy Duke »


Medals: 435
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #34 - Posted 2009-01-20 09:00:29 »

Interesting blog entry that is. Runs at a mere 19fps here though, and this is the most powerful computer I've ever used! Strikes me I could get an applet running that at 500fps on the same machine with a bit of LWJGL-love.

Cas Smiley

Offline bienator

Senior Devvie




OutOfCoffeeException


« Reply #35 - Posted 2009-01-20 17:02:08 »

my results (winxp, 1.6u11, 1.6ghz core duo, ATI X1600 mobile, battery mode):

128 balls:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
JavaFX (optimized-bitmapped "weblog version"): 14fps CPU 50%*
Flex:                                16fps CPU 90%
Java (vecor-based):                  20fps CPU 50%
Silverlight 2.0 CLR:                 30fps CPU 86%
Flex (bitmap):                       55-60fps CPU 60% (vsynced?)
swing (unoptimized):      vsynced to 60fps CPU 5%(!!!)
swing (optimized):        vsynced to 60fps CPU <4%(!!!)
pulp core:                           90fps CPU 40% (maybe a sleep in the rendering loop?)
explicit hw-accel category:
LWJGL/Slick:                         780fps CPU 35%
JOGL: TODO


javafx 1.0 bubblemark: http://weblogs.java.net/blog/opinali/archive/2009/01/javafx_first_pr_1.html
all other tests are from: http://bubblemark.com/

observations:
-silverlight&flex make use of multi core systems
-swing (speak java2d) performs extremely good
-javafx does not...

I haven't found the LWJGL benchmark  Tongue

*see trembovetski's post; 16 balls run with 250fps and 35% CPU load -> clearly a scalability issue

[edit] added another benchmark
[edit] added urls
[edit] added kaptas LWJGL benchmark

Offline Abuse

JGO Knight


Medals: 15


falling into the abyss of reality


« Reply #36 - Posted 2009-01-20 17:41:06 »

My shiney new Acer Aspire One netbook (XP, Atom 1.6ghz, 1/2gb, Intel 945 Xpress GPU, £150 from Asda!) doesn't like it much at all - 128 balls (image) gets a meager 5fps.
128 balls (2D) doesn't even register on the scale - a lot less than 1fps Cheesy

Ofcourse, I didn't expect it to be performant - I suppose atleast it ran ;-)

I was running on battery at the time though.

:edit:

I just tried revisiting the page while operating on mains, only to find no application on the page.

I did a refresh, and was met with this dialog:
"Java is required to run JavaFX applications.
You will now be redirected to a Java update site to get the latest version"
It auto-downloaded the installer, but gave me this message:
"This software has already been installed on your computer. Would you like to reinstall it?"
I refused, causing it to display this dialog:
"The current version of Java on this system (0 - Java Not Enabled) does not support JavaFX.
You will now be redirected to a Java update site to get the latest version."
It again began to auto-download the installer!!!

As I didn't have the patience to explore such an infinite loop, I cancelled it. Strangely I was then greeted with a 100% operational app. :S

Given that i'm running a totally clean system (the only java related installation i've made is the latest jdk release), it seems very odd that such a malfunction should occur.

Arg it isn't a one-off either, every time I now visit the page i'm greeted with the same broken sequence of dialogs.
I believe the latest jdk version ( build 1.6.0_11-b03 ) simply doesn't work properly unless you also independently install the jre...... and even then it doesn't work without first doing a page refresh?!
I also get 2 Java icons appearing in the system tray!
Fresh OS(XP), Fresh Browser(FF3), Fresh Java(latest) -> JavaFX Broken

Make Elite IV:Dangerous happen! Pledge your backing at KICKSTARTER here! https://dl.dropbox.com/u/54785909/EliteIVsmaller.png
Offline trembovetski

Senior Devvie




If only I knew what I'm talking about!


« Reply #37 - Posted 2009-01-20 21:14:12 »

Since you have Intel graphics board, d3d pipeline isn't enabled => performance is (even more) sucky.

Re: java install dialog issues: Yes, there's an existing bug for this, it's being worked on.

Dmitri
Offline cylab

JGO Ninja


Medals: 55



« Reply #38 - Posted 2009-01-20 21:48:36 »

I had the same error (but Vista x64, FF3) and the only way to get java to work again was to disable the next generation java plugin in the java control panel.

Mathias - I Know What [you] Did Last Summer!
Offline Abuse

JGO Knight


Medals: 15


falling into the abyss of reality


« Reply #39 - Posted 2009-01-20 21:55:41 »

Is the 'latest' JRE download being pushed out to users realy a beta? Shocked

Ignoring the obvious hit in Javas appearance of reliability, it seems very risky.

If you inadvertantly push out a beta that breaks the auto-update system you'll permanently lose huge numbers of users! (as they won't know or care how to fix it, and the update system won't be able to do it for them)

Make Elite IV:Dangerous happen! Pledge your backing at KICKSTARTER here! https://dl.dropbox.com/u/54785909/EliteIVsmaller.png
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline bienator

Senior Devvie




OutOfCoffeeException


« Reply #40 - Posted 2009-01-20 22:02:37 »

its rather a bug in the jre version detection mechanism used in javafx deployment script than a bug in the jre. The script detects a wrong java version and triggers the install process.
The bug is already fixed since last week i am only wondering why they haven't yet updated the script.

Offline aNt

Senior Devvie




AFK


« Reply #41 - Posted 2009-01-20 23:00:23 »

far as i can tell

anything under  12fps is not usable at all.
anything under  20fps that animates looks poor.
anything under  40fps will still look poor on a monitor because of screen refresh.
anything around 50-60fps is good (60 is fine).
anything over is very nice.

simple really. oh and applications tend not 500*300 square- really.

on my mac (brand new one); all of them are under 12fps apart from pulpcore that is rendering the shapes into an image so its moot anyway (plus the window and ress is smaller). flash wins because the application deployed without hassle, and run.

my mac is the screen of my live O.O
Offline aNt

Senior Devvie




AFK


« Reply #42 - Posted 2009-01-20 23:04:49 »

oh sorry Unity3d wins Wink coss it has the framerate and works.
just hassle to make things...
Offline Abuse

JGO Knight


Medals: 15


falling into the abyss of reality


« Reply #43 - Posted 2009-01-20 23:15:58 »

Since you have Intel graphics board, d3d pipeline isn't enabled => performance is (even more) sucky.


While I appreciate the reason, it doesn't seem a particularly valid stand-point when this (very low-end) netbook is powerful enough to run Quake3 @1024x600, maximum detail and maintain a solid 40-60fps.

Or for a slightly more fair comparison, jake 2 running through a next gen applet manages a less impressive 30-60fps.

Regardless of the reason for the performance, it seems farcical that JavaFX is only able to render 128 identical images at a pathetic 5-6fps.

To me it seems there is a serious misunderstanding on what JavaFX is trying to achieve.

If it is trying to dislodge flash from the low-end casual web app. market, it MUST be performant on low-end hardware. (a.k.a. integrated intel graphics)
As is abundantly clear Java2D is anything BUT performant on this kind of hardware so it seems absolute lunacy to even attempt to build JavaFX ontop of such a pipeline.

Make Elite IV:Dangerous happen! Pledge your backing at KICKSTARTER here! https://dl.dropbox.com/u/54785909/EliteIVsmaller.png
Offline brackeen

Junior Devvie





« Reply #44 - Posted 2009-01-20 23:44:06 »

on my mac (brand new one); all of them are under 12fps apart from pulpcore that is rendering the shapes into an image so its moot anyway (plus the window and ress is smaller). flash wins because the application deployed without hassle, and run.
Not that it really matters, but the PulpCore version is 500x300 just like the rest of them, and uses bitmaps just like the optimized Swing version. Latest version is here for the curious: http://www.interactivepulp.com/pulpcore/bubblemark/

JavaFX w/ bitmaps will eventually be fastest since it uses hardware acceleration, it just needs tuning of the scene graph & dirty region handling.
Offline bienator

Senior Devvie




OutOfCoffeeException


« Reply #45 - Posted 2009-01-20 23:52:52 »

the javafx version on the blog uses bitmaps too (see radio button) i only posted the results for the bitmapped version...

Offline Abuse

JGO Knight


Medals: 15


falling into the abyss of reality


« Reply #46 - Posted 2009-01-21 00:16:35 »

the javafx version on the blog uses bitmaps too (see radio button) i only posted the results for the bitmapped version...

Presumably for it to be a fair comparison with the others, it is applying sub-pixel interpolation.
'cos otherwise pulpcore blows it out of the water by an even greater margin (as is demonstrated by enabling pixel-snapping on that latest pulpcore version you linked to)

Make Elite IV:Dangerous happen! Pledge your backing at KICKSTARTER here! https://dl.dropbox.com/u/54785909/EliteIVsmaller.png
Offline trembovetski

Senior Devvie




If only I knew what I'm talking about!


« Reply #47 - Posted 2009-01-21 03:45:38 »

While I appreciate the reason, it doesn't seem a particularly valid stand-point when this (very low-end) netbook is powerful enough to run Quake3 @1024x600, maximum detail and maintain a solid 40-60fps.

Right. Except that you don't care about quality or stability when running Quake. If it crashes, oh well, you just restart.
If your business app crashes, it's another story. Or if your nice gui with graphs looks like crap, you'd be upset too.

Quote
Or for a slightly more fair comparison, jake 2 running through a next gen applet manages a less impressive 30-60fps.

Regardless of the reason for the performance, it seems farcical that JavaFX is only able to render 128 identical images at a pathetic 5-6fps.

To me it seems there is a serious misunderstanding on what JavaFX is trying to achieve.

If it is trying to dislodge flash from the low-end casual web app. market, it MUST be performant on low-end hardware. (a.k.a. integrated intel graphics)

Of course. Completely agree. And this is being worked on.

Quote
As is abundantly clear Java2D is anything BUT performant on this kind of hardware so it seems absolute lunacy to even attempt to build JavaFX ontop of such a pipeline.

What does pure Java2D/Swing bubblemark get on your system vs flash? JavaFX has to be at least as performant as pure JavaFX/Swing  version, the difference is due to known scenegraph issues having nothing to do with Java2D.

Regarding Intel chips. How would you like to run a little java applet that will reboot your system? Yes, their drivers are that bad. Not every app would run into that, but it's easy to abuse.

Also, some Java2D-only operations (like the shader for rendering lcd text) is super slow on intel chips, so we couldn't enable the pipeline there by default.

Noone said that JavaFX is limited to Java2D rendering backend though.

Dmitri
Offline Spasi
« Reply #48 - Posted 2009-01-21 11:24:13 »

Thanks for clearing that up. So, we know what JavaFX targets on the low-end. Are there any plans for some more advanced functionality in the future? Obviously you can't have shaders and better OGL integration in JavaFX without Java2D/Swing support, so I'm not talking about JavaFX exclusively here.
Offline CommanderKeith
« Reply #49 - Posted 2009-01-21 12:15:11 »

Yes thanks for explaining all of that Dmitri. What a pity about those intel drivers. Unfortunately they're very common since few business computers have graphics cards.

By the way Spasi, cool effects using the GPU have been available for a while using 'Decora' which uses java2D's D3D pipeline if available, or else uses a software pipeline fall-back  There's a demo of it here: http://weblogs.java.net/blog/campbell/archive/2008/02/index.html

And there was also a demo on the JavaFX site that had effects like BLOOM etc.


Offline kappa
« League of Dukes »

JGO Kernel


Medals: 81
Projects: 15


★★★★★


« Reply #50 - Posted 2009-01-21 14:21:49 »

I haven't found the LWJGL benchmark  Tongue

Please have a look here then for the LWJGL benchmark Smiley
Offline bienator

Senior Devvie




OutOfCoffeeException


« Reply #51 - Posted 2009-01-21 15:06:15 »

great, 780fps.
anyone interested to port the benchmark to JOGL? (just for completeness)

Offline Abuse

JGO Knight


Medals: 15


falling into the abyss of reality


« Reply #52 - Posted 2009-01-21 15:43:27 »

Please have a look here then for the LWJGL benchmark Smiley

280fps - that's more like it  Kiss

Make Elite IV:Dangerous happen! Pledge your backing at KICKSTARTER here! https://dl.dropbox.com/u/54785909/EliteIVsmaller.png
Offline kevglass

« JGO Spiffy Duke »


Medals: 212
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #53 - Posted 2009-01-21 15:49:44 »

It'd go faster in pure OpenGL, the applet uses Slick for a comaprable API to something like Java2D/Flash etc. Brute forcing it in raw GL is most likely going to give even better performance in JOGL/LWJGL.

Kev

Offline bienator

Senior Devvie




OutOfCoffeeException


« Reply #54 - Posted 2009-01-21 16:25:06 »

yes of course feel free to post also a pure LWJGL/JOGL version. This should give us a idea of the best possible performance for the given hardware in java. I would write the benchmark myself (indexed VBOs yeha!) but i have to write exams soon thats why i try to stay away from code.

Offline Spasi
« Reply #55 - Posted 2009-01-21 16:58:35 »

Indexed VBOs won't do much for simple quads. What you want is D3D instancing on windows, pseudo-instancing for older GPUs with vertex shader support on OGL, or ARB_draw_instanced for modern GPUs.
Offline bienator

Senior Devvie




OutOfCoffeeException


« Reply #56 - Posted 2009-01-21 17:19:23 »

Indexed VBOs won't do much for simple quads. What you want is D3D instancing on windows, pseudo-instancing for older GPUs with vertex shader support on OGL, or ARB_draw_instanced for modern GPUs.
maybe they would, they wont accelerate anything on the gpu because it will be idle anyway but they reduce JNI overhead to a minimum. Without trying it i am almost certain that we will get CPU limited in those high frequencies earlier as we expect.

Implementing the whole thing in a shader would be interesting too Smiley (draw instanced per quad LOL - don't tell this anyone -  but it could work)

but why not? A FPS competition sounds cool Wink my last exam is on 3. February

Offline Spasi
« Reply #57 - Posted 2009-01-21 18:04:04 »

but why not? A FPS competition sounds cool Wink my last exam is on 3. February

Hehe, I'm up for it. Tongue

Lets define minimum hardware requirements etc and I may be able to hack something fast this weekend.
Offline bienator

Senior Devvie




OutOfCoffeeException


« Reply #58 - Posted 2009-01-21 19:30:56 »

let move the contest to a different thread: http://www.java-gaming.org/topics/the-bubblemark-from-hell/19757/view.html Wink

Offline trembovetski

Senior Devvie




If only I knew what I'm talking about!


« Reply #59 - Posted 2009-01-21 20:37:26 »

Gunning for maximum fps in this benchmark is meaningless (and so is the benchmark really).

What you want to ask is this:
  how many balls can I show at given fps (say 60), highest number of balls wins (cpu usage can be taken into consideration if the scores are the same)

I have such benchmark for Java2D (which was originally created by none other than Abuse I believe Smiley ).. It's changed since but the idea is the same. If Abuse doesn't mind I can post the project somewhere.

On my system with 1280x1024 on win XP on 6u12 (in windowed mode) it gets 3844 transformed/scaled alpha-composited balls (non-opaque images) at 30 fps just using Java2D.

Dmitri
Pages: 1 [2] 3
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

rwatson462 (37 views)
2014-12-15 09:26:44

Mr.CodeIt (31 views)
2014-12-14 19:50:38

BurntPizza (62 views)
2014-12-09 22:41:13

BurntPizza (99 views)
2014-12-08 04:46:31

JscottyBieshaar (60 views)
2014-12-05 12:39:02

SHC (74 views)
2014-12-03 16:27:13

CopyableCougar4 (77 views)
2014-11-29 21:32:03

toopeicgaming1999 (138 views)
2014-11-26 15:22:04

toopeicgaming1999 (127 views)
2014-11-26 15:20:36

toopeicgaming1999 (38 views)
2014-11-26 15:20:08
Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!