Canvas Clip performance

Chien Yang chien.yang at oracle.com
Sat Feb 6 01:09:38 UTC 2016


Hi Elric,

Thanks for the extra information. This seems to rule out that the drop 
in performance might have to do with Intel HD:

 > D3D no clipping:   very comfortable 60 FPS
 > D3D clipping: 10 FPS

 > Software no clipping: 30 FPS
 > Software clipping: 8 FPS

It will still be useful to us if you can file a performance bug with a 
test program. This will help us to ensure that future fixes in this area 
will also cover your test case.

Thanks,
- Chien

On 2/5/2016 2:52 PM, Elric Morgenstern wrote:
> 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 ...
> succeeded.
> 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
> \\.\DISPLAY1
> Driver igdumdx32.dll, version 8.15.10.2827
> 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 ...
> succeeded.
>
>
> 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:
> http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8090206
> http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8088687
>
> The comments in this "fixed" bug report also indicate a stark 
> disparity between rectangular and oval clipping:
> http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8098079
>
> Then there is this, but it's already set to fixed:
> http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8096359
>
> 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 oracle.com 
> <mailto:chien.yang at oracle.com>> 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 oracle.com <mailto:philip.race at oracle.com>>
>             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 oracle.com
>                     <mailto:philip.race at oracle.com>>
>                     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