Canvas Clip performance

Elric Morgenstern at
Fri Feb 5 22:52:39 UTC 2016

Hi Chien, Kevin,

this is the result of verbose=true:

Prism pipeline init order: d3d sw
Using native-based Pisces rasterizer
Using dirty region optimizations
Not using texture mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
Prism pipeline name = com.sun.prism.d3d.D3DPipeline
Loading D3D native library ...
D3DPipelineManager: Created D3D9Ex device
Direct3D initialization succeeded
(X) Got class = class com.sun.prism.d3d.D3DPipeline
Initialized prism pipeline: com.sun.prism.d3d.D3DPipeline
Maximum supported texture size: 8192
Maximum texture size clamped to 4096
OS Information:
Windows 7 build 7601
D3D Driver Information:
Intel(R) HD Graphics
Driver igdumdx32.dll, version
Pixel Shader version 3.0
Device : ven_8086, dev_0046, subsys_040A1028
Max Multisamples supported: 0
 vsync: true vpipe: true

Loading Prism common native library ...

The performance when using oval clipping also drops considerably when using
the software pipe, but to about the same as when using D3D clipping.
D3D no clipping:   very comfortable 60 FPS
D3D clipping: 10 FPS

Software no clipping: 30 FPS
Software clipping: 8 FPS

I haven't filed a bug (yet), because there are already some issues that
could be related to my problem:

The comments in this "fixed" bug report also indicate a stark disparity
between rectangular and oval clipping:

Then there is this, but it's already set to fixed:

It's worth mentioning that it's not just an oval clip shape that causes
performance drops, but also using more than one rectangular shape.
Every rectangular shape beyond the first seems to reduce my FPS by 10.

I'm using JDK 1.80_60 by the way.

On Fri, Feb 5, 2016 at 6:38 PM, Chien Yang <chien.yang at> wrote:

> It will be great if you can include in your bug report the following 2
> piece of information:
> 1) Run your program with -Dprism.verbose=true. This will give us the
> graphics hardware information of your system.
> 2) Run your program with -Dprism.order=sw. This will force JavaFX to use
> its software pipe instead of hardware graphics acceleration. It will be
> good to know whether the poor performance is due to use of d3d pipe.
> - Chien
> On 2/5/16, 7:34 AM, Kevin Rushforth wrote:
>> Please file a bug. It might be possible for us to find a workaround,
>> although it might also be possible that this is just an unfortunate
>> limitation of Intel HD.
>> -- Kevin
>> Elric Morgenstern wrote:
>>> Ok. Maybe the problems I am experiencing now with JavaFX are the reason
>>> why
>>> D3D is not enabled for J2D?
>>> I think Intel Graphics are rather widespread among laptops, so I'm a bit
>>> surprised at the huge performance drop (from solid 60 FPS to 8 once I
>>> use a
>>> spherical clip shape). I'd think Intel Graphics hardware form part of the
>>> test set. I'm using a fairly common laptop (especially around business
>>> circles) Dell Latitude E6410.
>>> Any chance of this being investigated or do you think I will have to
>>> settle
>>> with a workaround?
>>> On Fri, Feb 5, 2016 at 1:01 AM, Philip Race <philip.race at>
>>> wrote:
>>> On 2/4/16, 2:59 PM, Elric Morgenstern wrote:
>>>> I see. Interesting. Isn't there a switch to toggle it on JDK8?
>>>>> There is no switch that can enable it if it is disabled by 'default'.
>>>> Assuming you are talking about JavaFX, right? Because you were referring
>>>>> to
>>>>> Java2D in your reply.
>>>>> No I am talking about 2D. What I meant was that maybe the performance
>>>> issue
>>>> is inherent in the card and the only reason it looks OK with Java2D on
>>>> Intel is
>>>> that we aren't using anything much at all of the Intel chip and are
>>>> doing
>>>> the work
>>>> on the cpu instead.
>>>> -phil.
>>>> On Thu, Feb 4, 2016 at 11:52 PM, Philip Race<philip.race at>
>>>>> wrote:
>>>>> Java 2D does not (generally) enable D3D on Intel.
>>>>>> We tried for JDK 8 but there were problems and it was disabled again
>>>>>> in
>>>>>> 8u40 I think.
>>>>>> JDK 9 EA builds (currently) still have it enabled to help get some
>>>>>> testing
>>>>>> so
>>>>>> if you are running an 8ux release you might want to switch to 9 to
>>>>>> get a
>>>>>> fairer comparison.
>>>>>> -phil.
>>>>>> On 2/4/16, 2:49 PM, Elric Morgenstern wrote:
>>>>>> Hi guys,
>>>>>>> I've noticed that clipping performance (Canvas GraphicsContext) is
>>>>>>> extremely bad on an Intel HD graphics chip. One rectangular clip is
>>>>>>> fine,
>>>>>>> anything beyond that, or a spherical clip shape, will bring the
>>>>>>> framerate
>>>>>>> to its knees.
>>>>>>> I notice no performance difference on my GeForce system, but on the
>>>>>>> integrated chip my application is basically insufferable.
>>>>>>> The same thing performed with Java2D experiences no performance
>>>>>>> issues
>>>>>>> on
>>>>>>> neither system.
>>>>>>> Any ideas?

More information about the openjfx-dev mailing list