Ok. CacheAsBitmap stores a raster copy of a movieclip in memory to use. If that movieclip is rotated or scaled, the performance gain is lost as it must re-cache the new movieclip. I assume this also applies to a movieclip that has a constantly repeating internal timeline, even if that movieclip isn’t rotating or being scaled. However, do additional frames (that aren’t being used) affect this?
I have a ‘player’ movieclip. This movieclip consists of about ten frames, each its own animation. Idle stance, walking, jumping, all the standard stuff. THe movieclip remains stopped on frame 1 (idle stance) for most of the game. Right now the Idle stance is an animation, so to use cacheAsBitmap I need to stop the idle animation. That’s fine, but does the additional content in the movieclip interfere with this? If I go from a walking animation back to the idle stance will it re-cache the idle stance for me?
The main reason I ask is that I wasn’t able to notice much of a performance difference between either method. Cacheasbitmap on a player sprite with animated idle stance, and Cacheasbitmap on a player sprite with a static idle stance. Both resulted in 39 fps (set to 40) in the flash player. Which is good I suppose, but I don’t know how the results will vary for someone with a slow computer
This is an important area of the game because at any given time there could be up to 12 player sprites on the screen (all with filters attached to them). So if one player is moving left/right the other 11 must be re-translated on each frame (since the stage moves too) so if all 11 players are playing their idle animations, with a glow filter, WHILE flash tries to re-cache all of them, that could lead to performance issues (although it hasn’t yet for me)
I want to give players the option to disable the idle animation, I just hope that it’s actually working the way I intend. If cacheasbitmap fails because of any other content inside the movieclip then this would be a useless feature.