移动端硬件相关

1、Early-z:

        光栅化后片元着色器前执行的提前深度测试,减少overdraw

 2、prezpass:

        针对所有不透明物件开始渲染前提前执行一遍只写深度的pass,并将后续的深度渲染比对改成Equals,充分利用earlyz,有效避开alphaclip物件片元着色的消耗(正常情况下由于discard,手机硬件的earlyz会失效)以及减少overdraw的手段。

        问题:带来了额外的带宽消耗,渲染时顶点和面数会是原先的双倍。

        unity实践中要注意保证prezpass尽量能够srpbatch

prez和earlyz-z讲解比较好的 :

​​​​​​        https://blog.csdn.net/whitebreeze/article/details/118688150

3、TBR架构

        移动平台为了节省功耗和发热不是来一个物件绘制一个,而是物件经过顶点着色器处理后,先写回内存,当收到GLFlush或者bind通知时,将整批绘制做tilebase的rendering。

         借用几张图

 

 

 

 

 总结:

该架构可以降低功耗具体原因:

        1、是由于tilebase render在绘制时由于有了tile数据可以只绘制存在片元的tile

        2、另外存在GMEM,可以再渲染每个bin内的图元时将数据先写到GMEM(如果要是blend用到framebuffer数据也是先读取到GEMEM里),GMEM充当framebuffer的高级缓冲(tile级别读取都是在这上面),等这个tile内图元都结束渲染再写回FrameBuffer,因此可以绕过与正常架构一样的对于这framebuffer/DepthBuffer在内存上的频繁load/store(与内存的交互就会涉及到带宽问题)

缺点:需要额外计算图元属于哪个tile(额外的biningpass)、逐tile渲染相对PC端效率较低

4、TBDR架构

        

 

相对TBR架构来说,多了个"D",这个D是从像素级别做支持(延迟渲染的思想与其相似)来减少tile内像素的overdraw

5、Mail-FPK:Foward pixel kill

        mail为了对标HSR使用的一种架构:

        

 


 

 

根据网上资料看,两者对比来说,FPK相对HSR来说是以quad为单位做剔除,剔除粒度相对来说较粗。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值