hg: openjfx/8/graphics/rt: RT-26702 Poor DisplacementMap effect performance on Mac
petr.pchelko at oracle.com
Wed Jul 24 11:31:26 PDT 2013
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 <richard.bair at oracle.com> 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?
> On Jul 24, 2013, at 12:32 AM, hang.vo at oracle.com wrote:
>> Changeset: dd30604ab7d0
>> Author: Petr Pchelko <petr.pchelko at oracle.com>
>> 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
More information about the openjfx-dev