Per openjdk rules, we cannot review or accept webrevs hosted anywhere
other than cr.openjdk.java.net [1]

Generally you ask someone who has a login there to do it for you

Or you may try submitting the patch in-line to this email if it is short.

Not an attachment. It will get stripped.

-phil.

[1] http://openjdk.java.net/guide/changePlanning.html

On 4/17/17, 3:42 AM, Patrick Chen wrote:
https://github.com/cloudStrif/webrev


2017-04-17 12:33 GMT+02:00 Patrick Chen <chen.j.patr...@gmail.com <mailto:chen.j.patr...@gmail.com>>:

    so here a webrev :

    2017-04-12 23:41 GMT+02:00 Sergey Bylokhov
    <sergey.bylok...@oracle.com <mailto:sergey.bylok...@oracle.com>>:

        (CC) 2d-dev
        If some of these options helps then most probably the bug is
        in the Java2D pipeline(XRender?) and looks like this is
        duplicate of:
        https://bugs.openjdk.java.net/browse/JDK-8068529
        <https://bugs.openjdk.java.net/browse/JDK-8068529>



        OK ,
        So I did severals tests with theses options with programms
        using full repaint() method
        ,and it still work well,
        but occasionnaly ,the lag is here again ,particularly when
        there are a lot component on the screen (Jpanel screen)

        indeed , I think it is not normal that we need theses options
        to work well ,
        but it seem the problem does not come from Swing package ,
        but repaint() method in AWT package ,

        2017-04-12 21:26 GMT+02:00 Patrick Chen
        <chen.j.patr...@gmail.com <mailto:chen.j.patr...@gmail.com>>:

            OK ,
            So I did severals tests with theses options with
            programms using full repaint() method
            ,and it still work well,
            but occasionnaly ,the lag is here again ,particularly
            when there are a lot component on the screen (Jpanel screen)

            indeed , I think it is not normal that we need theses
            options to work well ,
            but it seem the problem does not come from Swing package
            , but repaint() method in AWT package ,



            2017-04-11 19:18 GMT+02:00 Sergey Bylokhov
            <sergey.bylok...@oracle.com
            <mailto:sergey.bylok...@oracle.com>>:


                Hi ,
                yes ;
                with theses options it works !
                but what that means ?

                Is it works in case of any options or in some cases
                it does not work? Please double check.


                so it not a bug ?

                2017-04-11 18:46 GMT+02:00 Sergey Bylokhov
                <sergey.bylok...@oracle.com
                <mailto:sergey.bylok...@oracle.com>>:

                    Hi, Patrick.
                    Can you please run the code using these options:
                    -Dsun.java2d.xrender=true
                    -Dsun.java2d.xrender=false
                    -Dsun.java2d.opengl=true
                    -Dsun.java2d.opengl=false



                    After tests it seems that the problem doesn't
                    come from Timer , but
                    the repaint() method ,


                    even with this code the bug is here.
                    the bug is on Linux.

                    2017-04-11 11:07 GMT+02:00 Walter Laan
                    <wl...@costengineering.eu
                    <mailto:wl...@costengineering.eu>>:

                        Note that the example code in JDK-8178091
                        sleeps on the EDT, so you’re lucky it
                        paints at all instead of hanging the UI.

                        It looks like you adapted the code from
                        
http://codereview.stackexchange.com/questions/29630/simple-java-animation-with-swing
                        
<http://codereview.stackexchange.com/questions/29630/simple-java-animation-with-swing>
                        where no-one experienced with Swing pointed
                        out this error L.

                        Using a javax.swing.Timer (not the
                        java.util.Timer!) and it runs okay (using
                        Win10, Java 8u101):

                        *private**void*go() {

                        *new*Timer(10, *new*ActionListener() {

                        // _Les_ _coordonnées_ _de_ _départ_ _de_
                        _notre_ _rond_

                        *private**int*x= pan.getPosX(), y=
                        pan.getPosY();

                        // _Le_ _booléen_ pour _savoir_ _si_ l'on
                        _recule_ _ou_ non _sur_ l'axe x

                        *private**boolean*backX= *false*;

                        // _Le_ _booléen_ pour _savoir_ _si_ l'on
                        _recule_ _ou_ non _sur_ l'axe y

                        *private**boolean*backY= *false*;

                        @Override

                        *public**void*actionPerformed(ActionEvent e) {

                        // _Si_ _la_ _coordonnée_ x est
                        _inférieure_ à 1, on _avance_

                        *if*(x< 1) {

                        backX= *false*;

                                        }

                        // _Si_ _la_ _coordonnée_ x est
                        _supérieure_ à _la_ _taille_ _du_ _Panneau_
                        _moins_ _la_ _taille_ _du_ _rond_, on _recule_

                        *if*(x> pan.getWidth() - 50) {

                        backX= *true*;

                                        }

                        // _Idem_ pour l'axe y

                        *if*(y< 1) {

                        backY= *false*;

                                        }

                        *if*(y> pan.getHeight() - 50) {

                        backY= *true*;

                                        }

                        // _Si_ on _avance_, on _incrémente_ _la_
                        _coordonnée_

                        // backX est _un_ _booléen_, _donc_ !backX
                        _revient_ à _écrire_

                        // if (backX == false)

                        *if*(!backX) {

                        pan.setPosX(++x);

                        // _Sinon_, on _décrémente_

                                        }

                        *else*{

                        pan.setPosX(--x);

                                        }

                        // _Idem_ pour l'axe Y

                        *if*(!backY) {

                        pan.setPosY(++y);

                                        }

                        *else*{

                        pan.setPosY(--y);

                                        }

                        // On _redessine_ _notre_ _Panneau_

                        pan.repaint();

                                    }

                                }).start();

                            }

                        Hope that helps,

                        Walter.

                        *From:*swing-dev
                        [mailto:swing-dev-boun...@openjdk.java.net
                        <mailto:swing-dev-boun...@openjdk.java.net>] *On
                        Behalf Of *Patrick Chen
                        *Sent:* maandag 10 april 2017 12:23
                        *To:* swing-...@openjdk.java.net
                        <mailto:swing-...@openjdk.java.net>
                        *Subject:* Re: <Swing Dev> JDK-8178091 :
                        Bug I will workin on

                        (edit : for example this game coded in java
                        : https://github.com/cloudStrif/GoldenSunD
                        <https://github.com/cloudStrif/GoldenSunD>
                        will work with java 7

                        but clearly not with java8 (linux 64 bits)
                        because of lags)

                        2017-04-10 12:19 GMT+02:00 Patrick Chen
                        <chen.j.patr...@gmail.com
                        <mailto:chen.j.patr...@gmail.com>>:

                            Hi every one ,

                            just wanted to inform that I am working
                            to fix this bug.

                            it is when we devellop animations
                            thanks to repaint() method ,

                            for java 7 it works well

                            but with java8 not ,

                            (linux 64 bits it doesn't really work )

                            so after watching the source code it
                            seem that it is not a swing problem

                            but AWT : Component.java .

                            thank you










Reply via email to