zoukankan      html  css  js  c++  java
  • 图像占用内存的公式

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

     

    OpenGL ES  纹理的宽和高都要是2次幂数, 以刚才的例子来说, 假如 start.png 本身是 480x320, 但在载入内存後, 它其实会被变成一张 512x512 的纹理, 而start.png 则由 101x131 变成 128x256, 默认情况下面,当你在cocos2d里面加载一张图片的时候,对于每一个像素点使用4个byte来表示--1个byte(8位)代表red,另外3个byte分别代表green、blue和alpha透明通道。这个就简称RGBA8888

    图像宽度(width)×图像高度(height)×每一个像素的位数(bytes per pixel) = 内存大小

      此时,如果你有一张512×512的图片,那么当你使用默认的像素格式去加载它的话,那么将耗费

      512×512×4=1MB

    1MB = 1024 KB= 1024*1024 B

     

     

    PVRTC4: Compressed format, 4 bits per pixel, ok image quality
    PVRTC2: Compressed format, 2 bits per pixel, poor image quality
    一般pvr格式文件的图像格式有:
    RGBA8888: 32-bit texture with alpha channel, best image quality
    RGBA4444: 16-bit texture with alpha channel, good image quality
    RGB565: 16-bit texture without alpha channel, good image quality but no alpha (transparency)
    不过一般来说,开发团队尽可能根据硬件的种类选择硬件支持的纹理格式,比如Android平台的ETC、iOS平台的PVRTC、Windows PC上的DXT。
  • 相关阅读:
    IIFE(立即执行函数表达式)
    函数劫持
    nuxt.js怎么写一个全局的自定义指令
    nuxtjs里面使用vuex
    Nuxt.js端口冲突 Nuxt.js 如何更改端口配置?
    nuxt怎么去新增页面
    nuxt服务端渲染怎么引入element ui
    mac安装vue-cli和nuxt
    正则-怎么把字符串里面的英文去掉
    mac如果将项目部署到github,以及 github部署静态网站
  • 原文地址:https://www.cnblogs.com/xyptechnology/p/10042248.html
Copyright © 2011-2022 走看看