I'm writing an application (the one in my latest post in my blog in sig), and here's the scoop: I'm loading in roughly 1000 case images drawn to a bitmapdata and attached to a sprite as a bitmap, while small, range from 15-17k. That part I'm not worried about. Now I'm also duplicating them and creating a mirror effect to place directly below them. Again, I'm not worried about the memory; those 2000 together still only add about 10MB to my app (which is standalone in projector).

The problem comes when I try to fill the area where the cases appear. After talking with the client, I need to display 3 rows on the screen in a 1920x1080 resolution (will be running on this living room widescreen tv). I'm using a scrollrect and all those goodies to keep all nice and neat. What happens is that when I try to use a bitmapFill to show the "shelf" that each case is sitting on, the RAM footprint skyrockets. Check out this image to get an idea for what I'm working with. I tried to fill the background of the body window with a few more shelf images than I thought he'd ever use, but that wound up being a 1905x52800 bitmapfill (roughly 113MB w/ my math). You can also see in that image that I'm pushing 600 MEGABYTES OF RAM without another flash application running at all. (The actual count when I close the projector is just over 700MB in my Task Manager and I'm not even loading all 1000, just 150). My first assumption was an obvious memory leak, combined with the huge bitmapfill + 300 or so bitmaps/bitmapdats/sprites, etc.

However, I was just testing the app from the Flash CS4 IDE when I noticed something, at the EXACT same state as in Projector, my RAM footprint is only 190-240MB. Does anyone know anything about Projector and why it eats up so much extra RAM? Also, if anyone can think of any tricks I can fake out the client with to display the shelves behind the images correctly, I'd appreciate the advice.