图片在内存中占用的大小

本文探讨了图片在内存中的占用大小计算,公式为:numBytes = width * height * bitsPerPixel / 8。针对OpenGL ES,图片纹理尺寸通常为2的次幂,如480x320的图片会转换为512x512。以cocos2dx为例,每个像素用4个字节表示RGB和Alpha通道,因此一张512x512的纹理占用1MB内存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       图片占用内存的公式: numBytes = width  * height * bitsPerPixel / 8;

       OpenGL ES 纹理的宽和高都是按照 2 的次幂来计算的,一张图片打实际大小是 480 * 320 ,在内存中的实际大小是成为一张纹理为 512 * 512的。

默认情况下,cocos2dx 加载一张图片的时候,对于每一个像素点使用4个Byte来表示 1 个Byte(8位)代表Red,另外 3 个Byte分别代表 Green, Blue和 Alpha 透明通道,即 RGBA8888。

       现在计算 512 * 512 * 32 / 8 =  1 MB(1 MB = 1024 KB = 1024B)

上面计算的也就是一张纹理大小为 512 * 512 的图片所在内存中所占用的内存

 

PVRTC4: Compressed format, 4 bits per pixel, ok image quality
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值