码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-02-11 12:31:04      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:分享   产生   https   blog   img   logs   map   nbsp   ...   

当物体与投影面的距离发生变化的时候,物体在投影面的大小也发生着变化,如果此时还是用一张尺寸大,分辨率高的纹理就会过分的消耗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会导致纹理消耗内存增大多少

标签:分享   产生   https   blog   img   logs   map   nbsp   ...   

原文地址:http://www.cnblogs.com/jessmiss/p/6388955.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!