mipmap 二

mipmap 之前讲了生成 原理

这个讲下我对性能的理解

mipmap 

对性能的影响

包含两方面

minification时,采样多个textel得到1个pixel颜色,如果是mipmap形成相邻两个pixel的两组textels更为接近 会都在tex cache里面 

1.这样cache命中,速度快,

2.带宽减小,没有又从tex到cache来读取数据

我之前有一种错误认识 带宽和texturesize有关,其实只和 sample filter---point 1, bilinear 4, trilinear 8(mipmap level之间)fragment 有多少个(resolution决定) 有关

带宽 

Memory Bandwidth 定义是prosser到memeory的data rate  GB/s

fragement的带宽包括采样tex 和绘制到color buffer &depth buffer这两部分  对mipmap来说 tex cache命中增加 减小了采样tex的带宽

CPU到GPU之间的数据 这部分mipmap bind一次 8张全部绑定 每帧每次drawcall 前bindtexture-----这部分也许或许应该 至少不是GPU带宽-------不知道对不对

这部分肯定是有的,bindtexture 虽然可以是只传地址 但是资源肯定要从内存到显存 每次drawcall走一次 除非想Nintendo那样共享memory

mipmap是增加了这部分 数据传输 但是这个量太低了  一帧大概100次 X一组mipmap那么大  和GPU内部数据量不能比------也是不那么确定的的

https://msdn.microsoft.com/en-us/library/windows/desktop/ff476259(v=vs.85).aspx

memory有这几种类型default 类型只给GPU rw 只给GPU访问的这块memory是直接开在显存还是开在内存 呢呢呢 需要查资料 

从游戏开始加载资源就开这块memory 从硬盘把texture数据加过去 就不是每帧 每次drawcall往显存传数据了

default 是显存 references :Practical Rendering and Computation with Direct3D 11 这个吧

没必要放system memory 只能gpu访问

原文地址:https://www.cnblogs.com/minggoddess/p/8820540.html