Witam.
Mam stworzonego JFrame w którym renderowany jest obrazek z BufferedImage w JPanel.
Rysowanie wygląda mniej więcej tak:

public class ImagePanel extends JPanel {

   ...

   public void paintComponent(Graphics grp) {
        super.paintComponent(grp);
        g2D = (Graphics2D) grp;
        g2D.drawImage(image, 0, 0, this);       
        mStack.paintStack(g2D);    //renderuje kształty na obrazku, które rysowane są wcześniej myszką
   }
}

Problem polega na tym, że jak mam obrazki o małej rozdzielczości to w rysowanie jest płynne. Natomiast dla obrazków o dużej rozdzielczości wszystko zaczyna się przycinać. Nawet scroll podczas przesuwania viewPortu obrazka się krzaczy.

Macie może jakiś pomysł jak to zoptymalizować albo rozwiązać problem pod kątem wydajność ? Może jakieś wątek tutaj dodać ?
Z góry dziękuję za pomoc.