游戏中开启MipMap会导致纹理消耗内存增大多少

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了游戏中开启MipMap会导致纹理消耗内存增大多少相关的知识,希望对你有一定的参考价值。

当物体与投影面的距离发生变化的时候,物体在投影面的大小也发生着变化,如果此时还是用一张尺寸大,分辨率高的纹理就会过分的消耗GPU的性能,所以我们有了MipMap可以生成一组分辨率逐渐降低的纹理序列,可是当我们开启MipMap的时候他究竟会比没有开内存相差多少?

技术分享

来源:https://en.wikipedia.org/wiki/Mipmap

先看一下他们的大小总和:

T(n) = 1 + 1/4 + 1/16 + 1/64 + ......1/4^n

然后我们求解这个公式可得:

其中:

1/4 + 1/16 + 1/64 + ......1/4^n = 1/4 + 1/4(1/4 + 1/16 + 1/64 + ......1/4^(n-1))

1/4 + 1/16 + 1/64 + ......1/4^n - 1/4(1/4 + 1/16 + 1/64 + ......1/4^(n-1)) = 1/4

因为接近于无穷 所以可约等于:

3/4(1/4(1/4 + 1/16 + 1/64 + ......1/4^n) = 1/4

然后将左右两侧除以3/4可得

(1/4(1/4 + 1/16 + 1/64 + ......1/4^n) ≈ 1/3

所以T(n) =1 + 1/3

所以开启MipMap之后产生的内存消耗与没有开启相差 4/3倍

       

 

以上是关于游戏中开启MipMap会导致纹理消耗内存增大多少的主要内容,如果未能解决你的问题,请参考以下文章

unity 转微信小游戏 资源优化

Mipmap导致模型黑色接缝问题。

关于游戏打包(Android)后,手机上的模型贴图显示模糊问题的解决方案

什么是纹理内存,由 OpenGL 分配,受限制?

(22)如何优化内存使用

OpenGL之Mipmap、压缩纹理