JavaFX Graphics Stack

Detect it’s the same ball, cache, then draw as image? :wink:

[quote=“bienator,post:67,topic:32681”]
I’ll go for it anyway, maybe we’ll learn something useful out of it. Drawing lots of “transformed/scaled alpha-composited balls” is basically particle rendering and 3844 particles at 30fps sounds low for any modern PC.

My point was that it’s not Java2D that’s the cause of poor performance of this JavaFX benchmark.

Dmitri

Of course. AA Share rendering is where Java2D is pretty bad - no question about it.

Dmitri

I’m not arguing about that. I didn’t expect the first JavaFX implementation to have top of the line performance. I’m sure there’s room for lots of optimizations and bug fixes, I trust your team will make it fly soon. It’s the features I miss that I’m worried about.

I’ll try to explain better what I have in mind. Right now I miss 3 important features that I want to add to the projects I’m doing and will do in the future:

  • Vector graphics rendering
  • Video playback
  • A decent sound engine

My only option right now is using middleware crap, which means native per-platform libs, JNI stuff, etc. Or I could waste months to develop something on my own, but I don’t have the time or the know how to do it.

Until JavaFX popped up. It solves 2 out of the 3 problems instantly. Top features, top quality, all pure Java. It even has a scripting language, animations, events, etc, stuff I’d have to roll on my own in a 3D engine. Flash in Java, what more can you ask for? But I can’t use it. Why is it possible to give you any swing component or any BufferedImage and you can draw anything on it, but I can’t give you a simple OpenGL buffer? The code is there, the pipeline is there, just open it up.

Sun already made a great effort by investing on OpenGL with JOGL. The only thing that’s missing is better Java2D/OGL integration. Java is everywhere and so is OGL. Stop assuming you can solve every problem with plain Java2D and make OGL support a real Java feature.

Anyway, I want to try geometry shader generated particles, that’s my main motivation to write the benchmark. Never done it before and want to see how it feels.

I did some experiments in the Swing/OGL integration area. The last one worked quite good, it uses Scenarios sun.*.EmbeddedToolkit API (which is more or less already a show stopper because of its license) and redirects events from the window to virtual peers. This enables rendering swing components inside JOGL scenes regardless whether the toplevel component is heavyweight or not (GLCanvas). Focus, key events, Overlays everything seemed to work properly.

It is the usual paint to BufferedImage - copy to texture - render as quad implementation - but this time not that hacky.

I know this is not what you asked for with better Java2D/OGL int. but it is still somewhat on topic :wink:

EA uses already since several years a proprietary embedded flash renderer for things like game menus etc. - we could get this for free in java…

come on i’m sure we have much more ranting to be doing!

no a/v input for the media stuff in javafx!? sound playback is still not low-latency! still alert dialogs, whats going on!

come on, if you don’t shout it wont be a cool thread.

I just thinking out loud isn’t JavaFX targeting to much? How large do we want JavaFX?
I mean soon we will have 3d, JWebPane(correct me if I’m wrong), and what not.
Btw what’s the current size of JavaFX?

Still not employed on JavaFX team!

Cas :slight_smile:

RFE 122411.

IMHO:

not only JavaFX is targetting tooo much, about every new Java API including the Sun JRE are always targetting too much and rather doing less things nice, it do a lot of but very buggy and both make Java World become everyday less compatible.

also I found that the benchmark is a litle meaningless too, lot of benchmark are, because for example JavaFX provide thousands of functionalities and as a generic stuff it usually become slow, pulpcore just run fine on JRE 1.4 so what the meaning of this benchmark if we compare those API on 1.4 JRE ?

so you can only compare two function when they only have a cupple of lines but it is useless to compare two API cause they never provide same functionalities. So finally the benchmark is only relevant to say "if you want to show a lot of bouncing bubble , the way to go is …etc… " but if you want to display cube this is no more true…

need more speed, speed i say

still not fast enough to do an action packed bullet hell shmup on average hardware :slight_smile:

http://blogs.sun.com/chrisoliver/

Wow that looks great.

But what about Ken Russell leaving Sun? What a loss. Apart from being a great bloke on these forums, he was the power behind the fantastic JOGL API and the new applet plugin :’(

[quote]We weren’t able to obtain the support we needed for this project to continue, which took its toll.
[/quote]
Could you clear this? Does this mean something’s are going to be cut? or take longer to do?

The sshots do look great. I hope the web render comes out soon. I would love to make a badass browser :stuck_out_tongue:

oh dear thats not good, he did some great work especially on the new applet stuff. Sad to see Sun slowly loosing its best programmers.

wheres he gone to, Adobe?

I’ve always been amused by just how many times I’ve stepped into the JDK source and come across something with his name in the @author tag - last time it was deep in the bowels of some reflection code, it seem’s he’s worked on everything at some point. :slight_smile:

yup, single handedly re-writing the whole applet plugin2 and being backward compatible with the horrid applet plugin1 is no small feat. As well as mostly maintaining JOGL alone too.

i have a cutout version of ken in my office, he’s still here with me!

well, we installed chuck norris on the build server… (scroll down->http://jogamp.org/chuck/job/jocl/)