Active Blur Help!

So I’m using PixelFume’s Active Blur class to recreate the effect, though somewhat simpler so I rewrote some of it and it seem screwed up to me. I have it on the first frame of an .swf that gets loaded into and container clip in the main .swf via loadMovie. It does what I want it to do, but everytime you load the page it comes up slower and slower. If you click the button to load it like 15 times, it’s pretty much 1fps. Can’t someone point me in the right direction? The code is as below:

import flash.filters.BlurFilter;
import flash.display.BitmapData;
import flash.geom.Point;

var bottom = bg.getDepth();
this.createEmptyMovieClip("bgBlur", bottom+1);
var bgCopy:BitmapData = new BitmapData(bg._width,bg._height);
var blur:BlurFilter = new BlurFilter(10, 10, 2);

var top = fg.getDepth();
duplicateMovieClip("fg", "fgMask", top+1);
fg.swapDepths(fgMask);

function activeBlur(){    
    if(bg.cacheAsBitmap == false){
        fg._visible = false;
        bgCopy.draw(bg);
        bgCopy.applyFilter(bgCopy, bgCopy.rectangle, new Point(0,0), blur);
        fg._visible = true;
        bgBlur.attachBitmap(bgCopy,1);
        bgBlur.setMask(fgMask);
    }
    if(fg.isPlaying == true){
        fgMask._x = fg._x;
        fgMask._y = fg._y;
        fgmask._currentframe = fg._currentframe;
    }

}

setInterval(activeBlur, 33);

Any thoughts?