找回密码
 立即注册
查看: 376|回复: 4

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

[复制链接]
发表于 2021-11-13 11:09 | 显示全部楼层 |阅读模式
Render- 关于Unity渲染方面的优化(下)
发表于 2021-11-13 11:12 | 显示全部楼层
请问mipmap为何能缓解显存带宽压力?
那个效果上主要是抗锯齿的吧,性能上主要是tex2d时能提高缓存命中率,因为开了mipmap后像素所对应的纹素在显存中连续,能利用cache的prefetch机制
发表于 2021-11-13 11:19 | 显示全部楼层
感谢你的关注,这个问题我个人理解是这样的,
mipmap贴图是通过glTexImage函数加载的,可以通过设置其中level的参数来决定最终从显存中读取mipmap中对应的哪一层或哪些层的纹素,虽然mipmap的纹理是原始纹理大小的1.3倍左右,但它的数据存储工作并不发生在这里,当相机对渲染对象进行纹理采样时,根据相机与对象的位置,GPU通过特定的算法,读取显存中mipmap对应层的纹素,并进行过滤显示,因此,低精度下的mipmap所占用的纹素较少,显存带宽的开销也就更小了。
平时接触渲染比较少,东平西凑查了些资料得出的结论,可能不是很精确,望理解。
发表于 2021-11-13 11:19 | 显示全部楼层
感觉不对,看文档其中一种用法需要 glTexImage2D多次,upload每一level的数据,这种情况下带宽还增加了。
个人理解,mipmap主要是对图片缩小采样,挺高准确度的。对应的是放大采样,就是各种插值算法。
发表于 2021-11-13 11:25 | 显示全部楼层
文档地址:https://www.khronos.org/opengl/wiki/Common_Mistakes
里面的mipmap部分。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-15 18:51 , Processed in 0.108739 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表