占用的显卡内存怎么计算?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了占用的显卡内存怎么计算?相关的知识,希望对你有一定的参考价值。
要公式:
比如:某台微机以800*600,32位真彩色,85Hz模式显示。在此模式下要显示的一幅三维图画最少需要显卡内存为多少兆?
对于三维图形,由于需要同时对Front buffer、Back buffer和Z buffer进行处理,因此公式为:所需显存(帧存)=图形分辨率×3×色彩精度/8
而且3D的显存计算要考虑的不仅仅是这些因素~~~~
参考资料:JoViSN
参考技术A 这个画面有多少个三角行组成?渲染方式?
光源照射方式........
还有很多因素要考虑的 才能计算... 参考技术B 没有公式
iOS uiimage内存占用大小计算
参考技术A 今天突然遇到一个问题,UI给了很多设计图。但感觉很占内存。所以就想计算一下具体需要占用多少内存。我们平时看到的png、jpg、webp这些图片格式,其实都是图片压缩格式。通过对应的算法来优化了大小以节省网络传输与本地保存所需的资源。但是当我们加载图片到内存中将要显示出来的时候是不能使用压缩格式,这样就不能显示图片了。计算机依赖每一个像素点中的数据来显示图片。例如iOS中的UIImange的每个像素点是由red+green+blue 三原色在加上alpha透明度组成的。三原色每一个的范围在0 ~ 255所以需要int8来存储一个值的大小。那么一个像素点的颜色就需要3*int8 在加上需要alpha的大小。alpha的范围是0 ~ 100 也是以int8来存储的。所以一个像素点就需要4个int8来存储,也就是一个int32的大小。
我们平时取颜色也可以看到这一点。一张图片由很多像素点组成每个像素点由rgb组成的。但是这里是取颜色可能获取不到alpha。那我们现在知道了每一个像素点的大小,得出一整张图片在内存中的大小就很容易了。width * height * int32 = 图片的内存大小。
解释一下这里bytesPerRow这个属性的意思,苹果官方文档上是这样描述的
所以bytesPerRow 返回的是一张图片一行所占用的内存大小。单位是bytes。
所以我们这里只需要在乘以图片的高度就OK了。如果要转换为kb直接在除以1024就OK了。基本就是一张图片在内存中占用的大小。以一张400 * 400的图片为例。
400 * (400 * 4) / 1024 = 625KB
其中400*4 = bytesPerRow的值
以上是关于占用的显卡内存怎么计算?的主要内容,如果未能解决你的问题,请参考以下文章