hmmm I have set dowaitvblank and the framerate is pretty much stable now.

Anyone can explain it to me ? I find it very strange I get a slowdown when dowaitvblank is true only at a particular time and when a game restarts (i.e the game displays the same number of sprites) the slowdown does not happen.