Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8025662

javax.swing.Timer too slow

XMLWordPrintable

      FULL PRODUCT VERSION :
      java version "1.7.0_40"
      Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
      Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 6.2.9200]

      A DESCRIPTION OF THE PROBLEM :
      Timer invoke same time, too invoke timing luggy ActionListener#actionPerformed

      Please run below code and compare u25 between u40

      REGRESSION. Last worked in version 7u25


      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      public class TimerProblem extends JComponent {

      int red = 0;

      TimerProblem(final long startMs) {
      setPreferredSize(new Dimension(10, 10));

      Timer t = new Timer(16, new ActionListener() {

      @Override
      public void actionPerformed(ActionEvent e) {
      red = (int)(System.currentTimeMillis() - startMs) % 255;
      repaint();
      }

      });
      t.setInitialDelay(1000);
      t.start();
      }

      @Override
      protected void paintComponent(Graphics g) {
      g.setColor(new Color(red, 255 - red, 0));
      g.fillRect(0, 0, getWidth(), getHeight());
      }

      public static void main(String[] args) {
      JFrame f = new JFrame();
      Container c = f.getContentPane();

      c.setLayout(new GridLayout(10, 10));
      long startMs = System.currentTimeMillis();
      for (int i = 0; i < 100; i++) {
      c.add(new TimerProblem(startMs));
      }
      f.pack();
      f.setVisible(true);
      }

      }

      ---------- END SOURCE ----------

      SUPPORT :
      YES

        1. Test8025662.java
          2 kB
          Sergey Malenkov
        2. Test8025662.png
          27 kB
          Sergey Malenkov

            malenkov Sergey Malenkov (Inactive)
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: