Ever found your Roku app running sluggish or even crashing? If you’re building an image heavy application you may be bumping up against your texture memory limits. Since Roku introduced SceneGraph there have been massive improvements in memory handling and a visible reduction in crashes over apps that use SDK1 but have you ever wondered how to calculate how much texture memory an image will take? (Probably not you say? Well I’ll tell you how anyways).
It’s actually fairly simple and comes down to the dimensions of the image rather than any kind of compression technique.
To figure out how much texture memory an image will use in kilobytes just use the following formula (where
numberOfChannels is always
4 - RGB and alpha):
(width * height * numberOfChannels) / 1024
To get megabytes just divide by
So if you had an image of dimensions
720 you can calculate that this will take up:
(1280 * 720 * 4) / 1024 = 3600 kBs (Approx 3.5 mBs)