Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (777)
Games in Android Showcase (231)
games submitted by our members
Games in WIP (856)
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]
  ignore  |  Print  
  JOGL in JavaFX  (Read 48421 times)
0 Members and 1 Guest are viewing this topic.
Offline gouessej
« Reply #30 - Posted 2014-02-03 22:22:13 »

xsvenson, have you ever worked on a professional application deployed on numerous customers and based on OpenJFX / JavaFX? Have you ever looked at the recommended configurations to run OpenJFX / JavaFX applications in good conditions?

Currently, there are lots of Android smartphones supporting OpenGL-ES 2 but their drivers often offer a better support of OpenGL-ES 1. The software renderer of OpenJFX / JavaFX is really slow. Even simple OpenJFX / JavaFX GUIs have an higher memory footprint than their Swing equivalents. As I explained in the bug report, Oracle already knows that some public APIs are missing to implement a viable interoperability without relying on private APIs that could be removed, there is no need to provide a semi-broken solution in JOGL. We are open to contributions, don't worry and we listen to our community. Wouldn't a GLJFXPanel be enough for your needs? If we provide enough instructions to help the developers to ship the native ES2 pipeline for Windows and enable it, there won't be any problem of conflict at driver level with Direct3D. As I already said, you can still use GLJPanel + SwingNode + JFXPanel in the meantime. I have never denied that in my humble opinion JavaFX has some interesting features, a nice charting API, ...

Maybe Preston agrees with me. My concern is that I don't see JavaFX as a Swing replacement but I really want to provide some sort of interoperability between JOGL and OpenJFX / JavaFX. On my view, this feature is a "must have". However, I don't see a fully JOGL based pipeline for OpenJFX / JavaFX as an absolute necessity. What's wrong with that? You can already tinker the software renderer based on Swing in order to use GLG2D when creating Graphics2D instances, it's probably slower and less straightforward than a fully JOGL based pipeline but it's better than nothing, isn't it?

Sorry to contradict you but I don't only implement features that I absolutely need or find viable otherwise I would have never contributed to Java3D, Xith3D, JMonkeyEngine, ... but I won't implement a feature that will get completely broken because of changes in private APIs. Please tell me clearly what you mean and what you expect. Right now I have a full time job and I'm responsible of engine support for the JogAmp Foundation on my spare time as a volunteer. There are only 24 hours a day  Clueless

Julien Gouesse | Personal blog | Website | Jogamp
Offline xsvenson
« Reply #31 - Posted 2014-02-03 22:34:09 »

I haven't done anything with JavaFX nor do I know anything about it really.
But I do know that there are some plans to get JavaFX to Android (how realistic the plans are, do not know) and I know that some ppl have it working on their phone, more or less.

My point wasn't that ppl should use it now or whatever. It was rather "here, take a look, if You are interested"

“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
Offline gouessej
« Reply #32 - Posted 2014-02-04 12:04:54 »

Ok thanks. I just tried to explain to you the reality is less appealing than the plans and those demos.

Julien Gouesse | Personal blog | Website | Jogamp
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Preston

Senior Devvie

Medals: 4

« Reply #33 - Posted 2014-02-04 12:30:08 »

Maybe Preston agrees with me. My concern is that I don't see JavaFX as a Swing replacement but I really want to provide some sort of interoperability between JOGL and OpenJFX / JavaFX. On my view, this feature is a "must have". However, I don't see a fully JOGL based pipeline for OpenJFX / JavaFX as an absolute necessity.

Well, I too like Java2D and Swing. I like the visual cleanness of Swing and don't need the eye-candy style of JavaFX's UI. I'm sure that Swing can be used for many years. Even if Swing and/or Java2D won't see new features anymore, it's a robust API and will stay in Java. Do they ever remove libraries? I wouldn't know of one.

However hardware accelerated Java2D has always been a bit tricky for me, because it seems you often don't know if this or that operation is really going to be accelerated or not. For experts this may not be a problem, but average guys like me are usually lost in this aspect.

With JavaFX, SUN (*) made a clean cut: everything in JavaFX is meant to be hardware accelerated from the beginning -- or it's not accelerated at all (it fall-backs to Java2D entirely, and hence no 3D), but no mishmash.
From a) SUN's and b) us normal programmers' point of view this new approach makes sense, still, I think: a) SUN can present the eye-candies for the masses who like the fancy stuff. And b) we feed the JavaFX's scene-graph very differently than we draw to Java2D, so that the scene-graph can be fully accelerated.

That's how I understand things currently, but I could be wrong. So, for multi-media things, and this includes modest games, I think JavaFX is an attractive option indeed, since it works out of the box without any 3rd party libraries, even on such small Linux devices like the Raspberry Pi -- then without the Web- and Video-player components however.

But JavaFX has higher demands for newer hardware, as Julien mentioned. For example, on my nice ~8 year old PC which came with WinXP and a not-so-fast but solid ATI X1300 GPU, JavaFX black-lists the card and so uses software 2D only, and no 3D at all. Since ATI stopped to provide Windos drivers for this card a long time ago, JavaFX on this WinXP computers is useless.

On Linux however things are much better, since is fully supports this card, with the X.Org's R300 driver using the "Gallium 0.4 on ATI RV515" renderer. I've to say I'm deeply impressed.

And so, with Linux, you can also overcome JavaFX's strange black-list which blocks a lot of cards: just use the "-Dprism.forceGPU=true" parameter to ignore the black-list, and JavaFX runs smooth and nicely also on this older PC via OpenGL-ES2.

However, I realise that there's many other cards which may not play so nice even with forceGPU, for example because of Windows (XP). And here I think a connection between the solid JOGL and JavaFX would be valuable.

(*) It's been SUN indeed, since the technical architect of JavaFX, Mr. Richard Bair, was in SUN's Swing team and they started it at SUN.
Offline gouessej
« Reply #34 - Posted 2014-02-04 14:42:42 »

Thank you Preston for the trick (-Dprism.forceGPU=true). You can use GLG2D if you want to benefit of a better hardware acceleration with Java2D.

If the ES2 pipeline of JavaFX heavily relies on shaders, porting it to ES1 won't be trivial, maybe some features can't be implemented without shaders.

Julien Gouesse | Personal blog | Website | Jogamp
Pages: 1 [2]
  ignore  |  Print  

hadezbladez (330 views)
2018-11-16 13:46:03

hadezbladez (169 views)
2018-11-16 13:41:33

hadezbladez (328 views)
2018-11-16 13:35:35

hadezbladez (78 views)
2018-11-16 13:32:03

EgonOlsen (2168 views)
2018-06-10 19:43:48

EgonOlsen (2195 views)
2018-06-10 19:43:44

EgonOlsen (1373 views)
2018-06-10 19:43:20

DesertCoockie (1998 views)
2018-05-13 18:23:11

nelsongames (1641 views)
2018-04-24 18:15:36

nelsongames (2292 views)
2018-04-24 18:14:32
Deployment and Packaging
by mudlee
2018-08-22 18:09:50

Java Gaming Resources
by gouessej
2018-08-22 08:19:41

Deployment and Packaging
by gouessej
2018-08-22 08:04:08

Deployment and Packaging
by gouessej
2018-08-22 08:03:45

Deployment and Packaging
by philfrei
2018-08-20 02:33:38

Deployment and Packaging
by philfrei
2018-08-20 02:29:55

Deployment and Packaging
by philfrei
2018-08-19 23:56:20

Deployment and Packaging
by philfrei
2018-08-19 23:54:46 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‑
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!