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