How to preload BitmapData so game doesn't freeze when it's redered for the first time?

I tried Assets.loadBitmapData(), I tried adding and removing it from root quickly (though it’s behind some other stuffs so none of it is on screen). It doesn’t seem to work.

I was quite ok with it, but now that I made the game logic calculate by time passed instead of per frame, that makes my character fall off the floor. So how do I get it not freeze the game while it’s rendered for the first time?

Using Assets.loadBitmapData will always have a delay since it is asynchronous.

You can adjust your logic to wait until the load is completed:

Assets.loadBitmapData("image.png").onComplete(function(bitmapData)
{
    // render bitmapData
});

Otherwise if you preload assets try Assets.getBitmapData for a synchronous (immediate) reference to the preloaded asset