JavaFX graphics performance and suitability for advanced animations

Richard Bair richard.bair at
Tue May 28 23:17:48 PDT 2013

On May 28, 2013, at 9:43 PM, Daniel Zwolenski <zonski at> wrote:

>> Lets use performance to mean fps, and choppiness to mean inconsistent framerate. I think being consistent will help keep track of which issues are affecting which manifestation of "visual crappiness" :-)
> I agree with having clear terminology. On that fromt performance to me (and to many from the looks of thread) is more wholistic than fps. It's 'how the system performs'. 
> I have no idea whether the problems I'm seeing are framerate related or what - that's plumbing knowledge I dont have. I can't classify it any further than a general term - 'performance problems', 'rendering problems' or 'visual problems' - whatever term you want but we need some grouping of these.
> Things like 'fps', 'inconsistent framerate' are the causes, not the symptoms.

Actually I would disagree with that, these are the symptoms not the problems. The problems will be things like overly-long held synchronization that causes a frame to be skipped or a bad system timer that calls us at inconsistent times or excessive text measurement leading to long layout times etc. The manifestations of these individual issues would be poor fps (throughput) or inconsistent fps (which in some cases may be because a single frame is doing way more work than needed -- perhaps a bug in the application or the control).

> We're reporting the symptoms to you so you can determine the causes. So these will be along the lines of 'the animation is jittery', 'the fonts are blurry', 'when I scroll a big image there is lag'. 

Blurry fonts wouldn't be a performance issue according to any definition, but rather a quality issue.

> I'd vote we either not use 'performance', or use it to mean a general wholistic measure of how the system performs from the users perspective. I'd definitely vote we don't use it to mean any one specific metric like fps as I don't think that's how the vast majority are going to read it. 

I guess I've used fps & performance synonymously forever. Performance to me is "how fast is the thing". If I can consistently measure the work being done as being under 16ms then I've got good performance. Even if it stutters (that would be a different problem -- smoothness). Android uses the term "Jank" for Jitter / Stutter / choppiness. I don't like the term myself but it seems fairly common to separate out performance from jitter.


More information about the openjfx-dev mailing list