JoshWindsor 发表于 2021-11-13 11:09

Render- 关于Unity渲染方面的优化(下)

Render- 关于Unity渲染方面的优化(下)

XGundam05 发表于 2021-11-13 11:12

请问mipmap为何能缓解显存带宽压力?
那个效果上主要是抗锯齿的吧,性能上主要是tex2d时能提高缓存命中率,因为开了mipmap后像素所对应的纹素在显存中连续,能利用cache的prefetch机制

Doris232 发表于 2021-11-13 11:19

感谢你的关注,这个问题我个人理解是这样的,
mipmap贴图是通过glTexImage函数加载的,可以通过设置其中level的参数来决定最终从显存中读取mipmap中对应的哪一层或哪些层的纹素,虽然mipmap的纹理是原始纹理大小的1.3倍左右,但它的数据存储工作并不发生在这里,当相机对渲染对象进行纹理采样时,根据相机与对象的位置,GPU通过特定的算法,读取显存中mipmap对应层的纹素,并进行过滤显示,因此,低精度下的mipmap所占用的纹素较少,显存带宽的开销也就更小了。
平时接触渲染比较少,东平西凑查了些资料得出的结论,可能不是很精确,望理解。

FeastSC 发表于 2021-11-13 11:19

感觉不对,看文档其中一种用法需要 glTexImage2D多次,upload每一level的数据,这种情况下带宽还增加了。
个人理解,mipmap主要是对图片缩小采样,挺高准确度的。对应的是放大采样,就是各种插值算法。

xiaozongpeng 发表于 2021-11-13 11:25

文档地址:https://www.khronos.org/opengl/wiki/Common_Mistakes
里面的mipmap部分。
页: [1]
查看完整版本: Render- 关于Unity渲染方面的优化(下)