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>: > 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>: > >> >> 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>: >> >>> 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>: >>> >>>> 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.stackexchang >>>> e.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] *On >>>> Behalf Of *Patrick Chen >>>> *Sent:* maandag 10 april 2017 12:23 >>>> *To:* swing-dev@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 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>: >>>> >>>> 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 >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >> >> >