Hi Steve,
I’m not an “authority” on texture memory and low-level OpenGL, but according to a test I just did, bitmap masks do occupy texture memory. However , not at the full 4-layer" depth of RGB+A. I believe Corona converts bitmap masks internally to just 1 “channel”, so they take up 1/4 the texture memory as a normal image.
These are my figures:
- Bitmap mask image NOT yet converted to a mask using “graphics.newMask()”:
512 (width) x 512 (height) x 4 (RGB+A “layers”) = 1048576
1048576 / 1024 / 1024 = 1 MB texture memory!
- Same bitmap mask image converted to a mask in Corona:
512 (width) x 512 (height) = 262144
262144 / 1024 / 1024 = 0.25 MB texture memory!
So, this stands to reason, that if you load in ~15 MB of bitmap image texture memory, then convert them all to masks, you should be using 1/4 of that amount. Not sure why you’re getting just a 25% reduction. Can you check all of your calculations again to make sure?
Thanks!
Brent Sorrentino