Yeah, we've had really good results so far with multiple canvas items, and calling show on them in order. Here's a few tips:
1) Every time you create a new roImageCanvas object, the other ones will need to redraw everything the next time you call show() on them, so pre-initialize as many as you think you'll need.
2) Once you've got a canvas set up with all the images you want displayed on it, called show(), and given it time to actually do all the compositing, subsequent calls to show() without changing the canvas are quick compared to adding new images and calling how. To the degree that it only takes 15-50 ms (manual sleep!) to call show on a previously shown image canvas.
So, if you have an animation that isn't too complex, you could conceivably create a set of canvas objects, one for each frame, and after calling show on them all initially, you could call show on them in order later for a quick animation.
P.S. If you don't sleep manually between canvas item show() calls, the display order gets all messed up. You could conceivably make use of this to make sure a splash screen is displayed while doing the initial show() on all the objects so they display fast later in the animation.
-- GandK Labs
Check out Reversi! in the channel store!