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须要在屏幕上画非常多非常多的小格子。然后把格子里的全部像素都拿出来做某种检查。没通过检查的“坏”像素就会被丢掉。虽然丢掉这些没通过检查的像素可以让后面的工作量减小,但这个检查本身对渲染没有不论什么意义,所以没有被丢掉的像素就相当于走了一遍没用的过场。与此同一时候。划分小格子的过程会切坏非常多多边形和纹理,想要让这些多边形和纹理可以从“误伤”中幸存下来,你切了它们多少刀就要又一次读取它们多少次。假设多边形本身就非常多。被误伤的概率就更大。这会使得系统的某种缓存被高速消耗干净,缓存没了。系统干什么都不可能快得起来。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 本地apache 可以正常访问,lnmp服务器访问404错误

    本地apache 可以正常访问,lnmp服务器访问404错误

  • keypad 按键显示

    keypad 按键显示main.c#include”config.h”//矩阵按键扫描头文件#include”anjian.h”//1602显示头文件#include”1602.h”#include”music.h”sbitLED=P1^0;u8codekey[]={‘0′,’1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,’*’,’#’};//3*4手机拨号键盘号码u8

  • Nginx报错:Sorry, the page you are looking for is currently unavailable. Please try again later.

    Nginx报错:Sorry, the page you are looking for is currently unavailable. Please try again later.

    2021年10月12日
  • pycharm不会自动补全括号_pycharm代码提示

    pycharm不会自动补全括号_pycharm代码提示安装pycharm后,输入代码后,没有补全提示首先检查是否关闭了代码提示,如下图,将红框中“PowerSaveMode”前的勾去掉第二步,如果在输入某些代码时还是没有补全提醒,可能是配置好python环境则点击file->settings->projectInterpreter,如下图选择安装的python输入代码就会有提示了…

  • 2019js前端面试最全集合

    2019js前端面试最全集合一、html和css部分1、如何理解CSS的盒子模型?标准盒子模型:宽度=内容的宽度(content)+border+padding低版本IE盒子模型:宽度=内容宽度(content+border+padding)2、BFC?什么是BFCBFC(BlockFormattingContext)格式化上下文,是Web页面中盒模型布局的CSS…

  • Java中Random用法

    Java中Random用法今天看帖子时候看到了蓄水池算法,想起来之前看到过这样的题目,记录一下用到的Random类吧,面试写算法应该会碰到这样的题目。首先Random是随机生成数用法,介绍一下:1、Random.nextInt():这个用法就是生成一个Int范围里的一个随机数,用法举个例子:Randonmrandom=newRandom;System.out.println(random.nextInt());这时候输出的就是一个随机数,范围就是int的范围,当然括号里是可以填参数的,比如random.nextInt

发表回复

您的电子邮箱地址不会被公开。

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