(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 >>> >>> >>> >>> >>> >>> >>> >>> >> >> > > >