TBDR缺点「建议收藏」

TBDR缺点

大家好,又见面了,我是全栈君。

TBDR全称Tile-based Deferred Rendering。它是Power VR独特的TBR技术的一种延伸实现手段。TBR/TBDR通过将每一帧画面划分成多个矩形区域,并对区域内的全部像素分别进行Z值检查,在任务进入渲染阶段之前就将被遮挡的不可见像素剔除掉。因为在渲染之前进行Z-culling操作,这样的充满想象力的做法极大地,甚至能够说海量的削减了终于被渲染像素的数量。不仅大幅减少了系统对像素的处理压力,更极大的节约了
及空间的开销。


TBR技术对显存的节约


Z Occalusion检測软件——VillageMark


虽然TBDR不再像传统的TBR那样须要通过CPU来进行Z值检查。可是TBDR过程须要对画面内全部的像素进行一次“额外”的load过程,这个过程本身不管从哪个角度来讲都是与节约
显存带宽
背道而驰的,尤其是在复杂度极高但Z-Occlusion(Z闭塞)并不严重的场景中更是如此。另外,虽然对画面的矩形划分越细密,GPU对像素进行Z推断的效率和准确率越高,但TBDR过程对画面的
矩形分割
非常机械,这样的划分常常会导致非常多多边形和纹理被Tiles所分割,这些多边形和纹理都必须经过2次甚至4次读取才干保持自身形态的“完整”。这无疑加重了几何和纹理处理过程的负担。

假设场景的多边形数量较多。这样的分割还会导致scene buffer被高速的消耗殆尽。scene buffer的溢出会直接导致Z推断延迟的急剧增大。这对整个处理过程的影响是巨大的。
割裂多变性过程
通俗的说。TBDR须要在屏幕上画非常多非常多的小格子。然后把格子里的全部像素都拿出来做某种检查。没通过检查的“坏”像素就会被丢掉。虽然丢掉这些没通过检查的像素可以让后面的工作量减小,但这个检查本身对渲染没有不论什么意义,所以没有被丢掉的像素就相当于走了一遍没用的过场。与此同一时候。划分小格子的过程会切坏非常多多边形和纹理,想要让这些多边形和纹理可以从“误伤”中幸存下来,你切了它们多少刀就要又一次读取它们多少次。假设多边形本身就非常多。被误伤的概率就更大。这会使得系统的某种缓存被高速消耗干净,缓存没了。系统干什么都不可能快得起来。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116481.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 视频 |Java高性能优化电商秒杀

    视频 |Java高性能优化电商秒杀

    2022年2月13日
    40
  • pycharm中代码补全,代码提示功能「建议收藏」

    pycharm中代码补全,代码提示功能「建议收藏」那什么,,,,,,是这样的,请先确保你的代码补全功能是打开的。打开操作方式是:file—->powersavemode,把这个前面的√号去掉即可。然后,代码在提示的时候,多打几个字,发现你想要的已经在最上面的时候按tab键即可补全

    2022年8月29日
    0
  • 原来一直以为i686是64位的

    原来一直以为i686是64位的在yum上找32位的i386找不到,看到i686以为是64位呢,原来它也是32位啊i686只是i386的一个子集,支持的cpu从Pentium2(686)开始,之前的型号不支持.备注:1.i386适用于intel和AMD所有32位的cpu.以及via采用X86架构的32的cpu.intel平台包括8086,80286,80386,80486,奔腾系列(1.2.3.4…

    2022年5月8日
    144
  • SpringMVC 中ModelAndView用法

    SpringMVC 中ModelAndView用法ModelAndView作用1.返回到指定的页面ModelAndView构造方法可以指定返回的页面名称   例:returnnewModelAndView("redirect:/m07.jsp");通过setViewName()方法跳转到指定的页面   例:mav.setViewName("hello"); 2.返回参数到指定页面的request作用于中使…

    2022年7月18日
    50
  • 宽字节注入原理_sqlmap宽字节注入

    宽字节注入原理_sqlmap宽字节注入在mysql中,用于转义的函数有addslashes,mysql_real_escape_string,mysql_escape_string等,还有一种情况是magic_quote_gpc,不过高版本的PHP将去除这个特性。首先,宽字节注入与HTML页面编码是无关的,笔者曾经看到<metacharset=utf8>就放弃了尝试,这是一个误区,SQL注入不是XSS。虽然他们中编码的成…

    2022年10月14日
    0
  • python 二叉树中序遍历[通俗易懂]

    python 二叉树中序遍历[通俗易懂]根据树的递归性,使用List存储下面这棵树,然后编写函数对其进行中序遍历,最后删除节点D。递归实现中序遍历列表存储的二叉树python列表模拟二叉树存放,列表=[[左子树],根节点,[右子树]]列表里有列表,列表里又有列表。之前用treelist[1]==[]判断return,会有超限的问题。后来想了想,用列表长度判断是否return似乎是个不错的选择。d…

    2022年9月13日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号