Hello, Richard.
These changes fix the problem with dropping frames on Mac because of locking
between the render thread and UI thread.
I have made some measurements with Controls benchmark and GUIMark2. The numbers
without braces is the FPS rendered by Prism and the braced numbers represent
how many frames we are actually rendering on the screen.
Test Fix No Fix
bitmap-1000 76.1 (76.0) 75.3 (44.1)
bitmap-3000 38.3 (38.1) 36.9 (31.2)
bitmap-5000 23.4 (23.2) 22.6 (18.4)
vector 31.6 (31.3) 31.8 (29.0)
CheckBox 79 (79) 67 (47)
As you could see, with the fix we almost never drop frames, all of them are
actually delivered to the screen. Prism performance is improved in some cases
too. These are not all the results, just examples to feel the difference.
With best regards. Petr.
On Jul 24, 2013, at 8:23 PM, Richard Bair <[email protected]> wrote:
> The name of the issue is pretty ho-hum, but actually this was a huge amount
> of work to get finished. Petr, Artem, or Steve, can you give us a run-down of
> the performance impact of this change on Mac?
>
> Thanks
> Richard
>
> On Jul 24, 2013, at 12:32 AM, [email protected] wrote:
>
>> Changeset: dd30604ab7d0
>> Author: Petr Pchelko <[email protected]>
>> Date: 2013-07-24 11:24 +0400
>> URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/dd30604ab7d0
>>
>> RT-26702 Poor DisplacementMap effect performance on Mac
>> Reviewed-by: anthony, art, snorthov
>>
>> ! modules/graphics/src/main/native-glass/mac/GlassEmbeddedWindow+Overrides.m
>> ! modules/graphics/src/main/native-glass/mac/GlassFrameBufferObject.h
>> ! modules/graphics/src/main/native-glass/mac/GlassFrameBufferObject.m
>> ! modules/graphics/src/main/native-glass/mac/GlassLayer3D.h
>> ! modules/graphics/src/main/native-glass/mac/GlassLayer3D.m
>> ! modules/graphics/src/main/native-glass/mac/GlassOffscreen.h
>> ! modules/graphics/src/main/native-glass/mac/GlassOffscreen.m
>> ! modules/graphics/src/main/native-glass/mac/GlassView3D.m
>>
>