[java] Mouse Pointer

Started by
1 comment, last by koatto 22 years, 5 months ago
The application i''ve realized is a simple panel displaying a scrolling image. Permormance are very good but when the mouse passes over the scrolling panel speed massively goes down. I think the mouse pointer forces the panel to repaint itself some times more slowing all down . Are good solutions? thanks.
Advertisement
If you''re continuously animating on a Component, then you can pretty much ignore the repaint calls from the operating system (By the time you get the call from the OS you''ve either already repainted or are preparing to). If you''re using Java 1.4 then a simple call to Component.setIgnoreRepaint(true) will stop the OS from delivering repaint calls (but the internal AWT still will, so your calls to repaint() will still work).
If you''re working in 1.3 or lower, you''ve got to roll your own solution. Consider:
  import java.awt.*;class AnimComponent extends Component{  public AnimComponent () { }  // Empty update function, stops calls to repaint()  // from getting forwarded to paint(), make  // it final so no one else re-defines it  public final void update (Graphics g) { }  // Our own repaint function, skips the AWT repaint()  // and update() functions and goes straight to paint()  public void animRepaint ()  {    Graphics g = getGraphics();    if (g != null)    {      paint(g);      g.dispose();    }  }}  

It''s a simple example, but it should work. You''ll still get the
overhead of the AWT dispatching repaint events, but you stop responding to them. It will make your inner loop a little faster, however, because you stop forcing the re-draw of every frame to be called by the AWT Event Dispatch Thread (if you were calling repaint(), that is).

"So crucify the ego, before it''s far too late. To leave behind this place so negative and blind and cynical, and you will come to find that we are all one mind. Capable of all that''s imagined and all conceivable."
- Tool

"There is no reason good should not triumph at least as often as evil. The triumph of anything is a matter of organization. If there are such things as angels, I hope that they're organized along the lines of the mafia." -Kurt Vonnegut
Thank you very much.

This topic is closed to new replies.

Advertisement