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.y...@oracle.com <mailto:chien.y...@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.r...@oracle.com <mailto:philip.r...@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.r...@oracle.com
                    <mailto:philip.r...@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?




Reply via email to