On 2013-07-26, at 7:12 PM, Daniel Zwolenski <zon...@gmail.com> wrote:
> > It's not that we think the JFX team aren't slogging their guts out, clearly > you are. It's just that in some key areas, there are small-ish blocks that > stop the whole rocket from launching. To then see a whole lot of effort be > poured into things like binary CSS/FXML compilation, Pi platform support > (that's more important than iOS/Android, really?), web deployment patches, > or even 3D (as cool as that is), just knocks me about. Obviously your > priorities are coming from somewhere different to ours, but the way you > prioritise is unfathomable to me and that definitely adds to the > frustration. +1 The basic rendering, layout and controls just don't work right yet. That is the biggest problem affecting me today. > JavaFX is > definitely not production ready for me, my clients and the types of apps I > build (e.g. consumer facing online systems, enterprise/backoffice systems, > form/data systems, diagramming systems). One day I hope it will be, but > it's moving extremely slowly or not at all in the areas that would make it > so for me. Meanwhile the competitors (primarily JavaScript based solutions) > are improving rapidly in the areas where they have traditionally been weak. They are, but browser based apps are still far too crippled for most things I need to do. I hate that the browser & JavaScript are becoming the standard app platform because it forces things to suck on so many levels. Scott > > On Sat, Jul 27, 2013 at 8:30 AM, John C. Turnbull > <ozem...@ozemail.com.au>wrote: > >> Hi Richard, >> >> I have to stop posting late at night, that one came across as really ANGRY! >> >> It's not anger, it's passion... and frustration. >> >> I am frustrated because I spend much of my day trying to convince my >> employer that we should be using JavaFX. They ask me questions like: >> >> "What happens if Oracle abandons JavaFX just like Sun did with JMF, Java3D, >> JOGL etc. ?" >> >> I say: >> >> "This is Oracle, not Sun." >> >> They say: >> >> "Can you show me what JavaFX can do? There must be examples out there >> right?" >> >> And I say: >> >> "Sure, here's Ensemble." >> >> They say: >> >> "OK, so it has a nice set of basic controls and can do simple animations >> but >> what about more complex things like Flash?" >> >> ...hence the dancing cat reference. >> >> It's not that my employer *needs* dancing cats, it's just that they need to >> see that there is more to JavaFX than red circle transitions. I can't even >> prove to them that JavaFX is capable of dancing cats. They don't have the >> resources to fund me to develop something more sophisticated but they tell >> me that if JavaFX truly was a "mature" technology (like I tell them) then >> where are all the examples? >> >> I am finding it difficult to convince them that JavaFX is production ready >> and is not still in "experimental" mode because I am unable to demonstrate >> its true capabilities or refer them to many examples of people (and I mean >> big companies) actually using it. >> >> The main concerns of my employer and I think many companies in a similar >> situation is that JavaFX won't survive long term and that it is only really >> suitable for form based applications. Then of course there is the whole >> "HTML5 runs on all platforms" argument but that's another story... >> >> So this is why I think it's imperative that Oracle invests in developing a >> true showcase application for JavaFX. Something that non-technical people >> (like managers who make decisions about where the money goes) can look at >> it >> and go "wow!". >> >> I am just not getting my managers to go "wow" at what I can show them with >> JavaFX at the moment. >> >> Every comment or apparent criticism I post about JavaFX is from the >> perspective that I am trying to deal with real-world problems and people >> who >> require proof (such as demos, reference sites etc.) and not because I >> myself >> think JavaFX is not up to scratch. >> >> It's quite the opposite actually. >> >> I am a very, very strong believer and supporter of JavaFX and have many >> reasons both personal and professional as to why I want it to be a massive >> success. As I have said before, there are plenty of people who praise >> JavaFX and tend to avoid the very real issues that are restricting its >> adoption. I just think we have to face these issues head on if we are to >> compete in what is a very cut-throat industry. >> >> -jct >> >> -----Original Message----- >> From: Richard Bair [mailto:richard.b...@oracle.com] >> Sent: Saturday, 27 July 2013 01:40 >> To: John C. Turnbull >> Cc: 'Daniel Zwolenski'; openjfx-dev@openjdk.java.net >> Subject: Re: Can JavaFX do CAD? >> >>> For Flash, there are literally millions of examples of >>> fancy/complex/impressive graphics and animations out there that can be >>> really impressive at times. I have not seen ONE such example in JavaFX! >> >> Point to one? >> >> Have you seen any of the JavaOne examples? The movie wall or movies on a >> stack of 3D cubes was pretty good. But I guess you're not interested in the >> 3D aspect? What is it you are looking for exactly? Different people (on >> this >> list) have had different perceptions on both (a) what's important and (b) >> what kind of graphics they're interested in. Most people would deride the >> dancing cat as being totally irrelevant to the types of applications >> they're >> trying to build (the basis for much of flash animations is shape morphing, >> you can find some code here https://gist.github.com/gontard/5029764). >> >> On the other hand, JavaFX is not a replacement for OpenGL. Drawing 25 >> million lines is just not something we can do right now, especially in a >> resource constrained environment. I've already commented on the memory >> overhead (which would continue to be an issue even if the drawing part of >> the problem were solved). >> >> I've pushed to graphics repo the StretchyGrid, which is about 300k line >> nodes (the actual amount is variable, see the javadoc comments). At 300k >> nodes the scene graph overhead is negligible on the FX side, dirty opts is >> taking a long time to run, and painting is really slow. >> >> PULSE: 347 [122ms:222ms] >> T12 (8 +0ms): CSS Pass >> T12 (8 +0ms): Layout Pass >> T12 (47 +53ms): Waiting for previous rendering >> T12 (100 +1ms): Copy state to render graph >> T10 (101 +16ms): Dirty Opts Computed >> T10 (117 +105ms): Painted >> Counters: >> Nodes rendered: 306565 >> Nodes visited during render: 306565 >> >> If I were doing this by hand in open GL, I think the drawing would be >> essentially free, if I used LINES with GL anti-aliasing, I could send 'em >> all down to the card in a single shot (and if I had a modern GL I could do >> LINES + FXAA or one of the other per-pixel AA algorithms available and it >> would turn out pretty nice). Because our shapes don't implement the non-AA >> path, and our AA involves software rasterization and uploading of pixels, I >> expect that to be the main source of the 105ms time being spent here. >> >> Also I noticed (by turning on prism.showdirty=true) that the entire grid is >> being painted every time, even though visually it looks like only a small >> subset actually needs to be changed. But that's really a minor thing, as I >> said, drawing this many lines should basically be free if I configure >> "smooth" to false in the app. Except that right now it is totally not >> implemented (in NGShape): >> >> public void setAntialiased(boolean aa) { >> // We don't support aliased shapes at this time >> } >> >> The point of stretchy grid is not to say "wow look at this amazing demo". >> The point is to say "what happens if I put in 300K nodes. Where does the >> system start to fall over?". >> >> Richard= >> >>