Swingで、JPanelのpaint(Graphcis)をオーバーライドして

private Vector<Element> elements;

public void paint(Graphics g) {
 for(Element e : elements) {
  e.draw(g);
 }
}

こんなかんじで各要素を描画してるんだけど、
elementsの要素が増えてくると重くなるのはわかるんだが
さらに増えると急に動作が軽くなるのは何で?
Vectorクラスの特性?Graphicsの特性?