I think you just nailed it on the head Markus :-).
> On Jul 21, 2016, at 10:56 AM, Markus KARG <mar...@headcrashing.eu> wrote:
>
> The limiting factor is the single-thread architecture of rather all parts of
> JavaFX. The only real difference you see between machines is not correlating
> with neither number of CPU cores nor GPU cores, but only with CPU frequency,
> roughly spoken. Short term fixes will only provide little improvement, by
> optimizing the critical execution path (i. e. produce hot spot histogram
> using a profiler), for example improvement clipping, caching, etc. Huge
> performance optimizations need an architectural change within JavaFX's
> "scenegraph-to-bitmapframe" (a.k.a. rendering) pipeline to use parallel
> execution in lots of places. Typical design patterns would be parallel
> iterations, work-stealing executors, fibers (a.k.a cooperative
> multi-threading, a.k.a CompletableFuture), and last but not least partitioned
> rendering (a.k.a tiled rendering).
>
> I am pretty sure you can add a lot more ideas to the list and produce great
> performance, scaling linearly with number of CPU cores / GPU cores, but this
> somes at a cost: Risk to introduce hard to track bugs, and needed manpower.
>
> If somebody has at least a lot of free spare time, I am pretty sure Kevin
> could easily provide a huge set of work items in this area. :-)
>
> -Markus
>
> -----Original Message-----
> From: openjfx-dev [mailto:openjfx-dev-boun...@openjdk.java.net] On Behalf Of
> Dr. Michael Paus
> Sent: Donnerstag, 21. Juli 2016 12:07
> To: openjfx-dev@openjdk.java.net
> Subject: Re: Scene graph performance
>
> Hi Felix,
> I have written various tests like the ones you use in FXMark and I have
> obtained similar results. I have even tried to substitute 2D shapes by using
> 3D MeshViews in the hope that this would give better performance but the
> results were not that good. Of course all this depends on the specific test
> case but in general I see that a JavaFX application which makes heavy use of
> graphics animations is completely CPU-bounded.
> The maximum performance is reached when one CPU/Core is at 100%.
> The performance of your graphics hardware seems to be almost irrelevant.
> I could for example run four instances of the same test with almost the same
> performance at the same time. In this case all 4 cores of my machine were at
> 100%. This proves that the graphics hardware is not the limiting factor. My
> machine is a MacBook Pro with Retina graphics and a dedicated NVidia graphics
> card which is already a couple of years old and certainly not playing in the
> same league as your high-power card.
> I myself have not yet found a way to really speed up the graphics performance
> and I am a little bit frustrated because of that. But it is not only the
> general graphic performance which is a problem. There are also a lot of other
> pitfalls into which you can stumble and which can bring your animations to a
> halt or even crash your system. Zooming for example is one of these issues.
>
> I would like to have some exchange on these issues and how to best address
> them but my impression so far is that there are only very view people
> interested in that. (I hope someone can prove me wrong on this :-)
>
> Michael
>
> Am 20.07.16 um 04:14 schrieb Felix Bembrick:
>> Having written and tested FXMark on various platforms and devices, one
>> thing has really struck me as quite "odd".
>>
>> I started work on FXMark as a kind of side project a while ago and, at
>> the time, my machine was powerful but not "super powerful".
>>
>> So when I purchased a new machine with just about the highest specs
>> available including 2 x Xeon CPUs and (especially) 4 x NVIDIA GTX
>> Titan X GPUs in SLI mode, I was naturally expecting to see significant
>> performance improvements when I ran FXMark on this machine.
>>
>> But to my surprise, and disappointment, the scene graph animations ran
>> almost NO faster whatsoever!
>>
>> So then I decided to try FXMark on my wife's entry-level Dell i5 PC
>> with a rudimentary (single) GPU and, guess what - almost the same
>> level of performance (i.e. FPS and smoothness etc.) was achieved on
>> this considerably less powerful machine (in terms of both CPU and GPU).
>>
>> So, it seems there is some kind of "performance wall" that limits the
>> rendering speed of the scene graph (and this is with full speed
>> animations enabled).
>>
>> What is the nature of this "wall"? Is it simply that the rendering
>> pipeline is not making efficient use of the GPU? Is too much being done on
>> the CPU?
>>
>> Whatever the cause, I really think it needs to be addressed.
>>
>> If I can't get better performance out of a machine that scores in the
>> top 0.01% of all machine in the world in the 3DMark Index than an
>> entry level PC, isn't this a MAJOR issue for JavaFX?
>>
>> Blessings,
>>
>> Felix
>
>
>