triple buffer pesado parpadeo

¿El triple buffering y Canvas no deberían ser una solución óptima para la representación pasiva? Acabo de escribir este código java que muestra un círculo. Si dejo la estrategia de buffers a 3, parpadea mucho. Si lo baje a 2 o 1 está bien. Tal vez estoy haciendo algo mal?

public void run(){

    while (running){   
        update();
        draw();
    }
 }


 public void update(){

 }


 public void draw(){
       BufferStrategy bs = getBufferStrategy();
       if (bs==null){
       createBufferStrategy(3);
       return;
       }

       Graphics g = bs.getDrawGraphics();
       g.setColor(Color.BLACK);
       g.fillOval(30, 30, 20, 20);
       g.dispose();
       bs.show();
 }

Y esta es la clase JFrame donde pongo el Canvas.

public class Game {

public static void main (String [] args){

    Pan game = new Pan();
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setResizable(true);
    frame.add(game);
    frame.pack();
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
    game.start();

}

}

Respuestas a la pregunta(2)

Su respuesta a la pregunta