POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 3478|回复: 12
打印 上一主题 下一主题

TBDR\\IMR Based GPU Achitecture Topic

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-9 17:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 predaking 于 2009-3-9 17:46 编辑

从Function角度来说,TBDR可以更好的做到Depth Peeling

从Performance角度来说TBDR可以比IMR更好的避免无效的PS启动,也可以比Explicity Early-z Culling更好的避免无效的VS启动

从Gate Count以及Transistor Cost角度来说,TBDR可以避免Hierarchical Z和Z Compression/Decompression等复杂的ROP逻辑。


为什么现在的Graphics Card都不用TBDR呢?Texture Cache的Data Locality问题?还是PS启动时候Shader Program过多?还是因为Sort-middle的时候Bandwidth过大?等等?
2#
发表于 2009-3-9 17:52 | 只看该作者
兼容性问题呀,现在的很多游戏和应用都是 IMR-based 的,在 TBDR 上难免出现一些问题。

还有成本问题, TBDR 大都需要一块不小的片上 buffer。
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 2009-3-9 17:55 | 只看该作者
这倒是,Synchronization和lock会使得TBDR失效,不得不退回到IMR方式,使得Performance大幅降低。这个问题在GMX里就已经体现出来了,那个还仅仅是Zone Rendering,还不是TBDR……

不过这就是给SW工程师惯坏了~ Application就不应该那么写。
回复 支持 反对

使用道具 举报

4#
 楼主| 发表于 2009-3-9 17:59 | 只看该作者
本帖最后由 predaking 于 2009-3-9 18:01 编辑

SW工程是实在是大脑积水,不给用TBDR自己却费尽去做Deferred Shading……而且Second Pass的时候还必须得做Shader Program Merge,有的时候还Merge不了。……
回复 支持 反对

使用道具 举报

5#
发表于 2009-3-9 18:00 | 只看该作者
AMD下一代mobile芯片就是TBDR的

面对现在的怪物高端,这个玩意带给设计者的优势似乎是更容易做到更好的能效比
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2009-3-9 18:02 | 只看该作者
本帖最后由 predaking 于 2009-3-9 18:13 编辑

所有的高功耗都是由于Memory Access的Latency引起的~~ 如何优化这个,是如何获得Low Power的关键~~

TBDR只是个权宜之计,通过避免无效的PS能节约一定Power,但是不能根本上解决Latency引起的power问题。

AMD的那个有文章么,推荐以下?或者谈谈 “这个玩意带给设计者的优势似乎是更容易做到更好的能效比” ??
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2009-3-9 18:22 | 只看该作者
本帖最后由 predaking 于 2009-3-9 18:25 编辑
兼容性问题呀,现在的很多游戏和应用都是 IMR-based 的,在 TBDR 上难免出现一些问题。

还有成本问题, TBDR 大都需要一块不小的片上 buffer。
Edison 发表于 2009-3-9 17:52


那个Tile base Frame Buffer on chip总计算下来比Early-z还有Zbuffer cache、 Colorbuffer Cache要节省很多Gate Count。 而且HW Design/Verification的成本都要节省很多,SW那边成本会增加,不过还好~~
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2009-3-10 10:25 | 只看该作者
这是老外给出来的解释,欢迎继续探讨

The problem with this deferred rendering approach is the fact that the entire scene must be cached before rendering. This "scene buffer" effectively takes the place of the z-buffer. The objection I have to this approach is that the size of the scene buffer is unknown before rendering, and so there are always going to be possible buffer overflow issues which could drastically impact performance. By contrast, the z-buffer's size is well-known prior to rendering. Immediate-mode renderers (pretty much any GPU available today) also have a number of techniques that improve efficiency, so I don't see a reason to go "all the way" to deferred rendering to solve problems that, in my mind, don't really need solving given today's rendering performance
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2009-3-10 10:34 | 只看该作者
上面说Scenebuffer是有可能Overflow,我认为这个是个别的极端情况。比如现在的IMR Applicaiton都是针对IMR声明的Texture Resource,而如果Driver要做Tile base Rendering,那有可能在一个Tile内的Triangle需要访问超过Video memory的Texture,从而Overflow。这个对性能影响是很大,这个问题估计会同样困扰着LRB。不过好在LRB有大于4G的 Video Memory。
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2009-3-10 10:48 | 只看该作者
通过切割Tile,我想还是可以解决的~~ 。不过这种Overflow情况应该不常见吧,一个Tile本身就很小了,而且只启动Visible Fragment的PS,应改用不到太多的Texture Resource~~

不过话说回来。假如有人要在PS里做RT之类的变态行为,那除了Application Engineer以外,谁也帮不上忙~~
回复 支持 反对

使用道具 举报

11#
发表于 2009-3-10 11:16 | 只看该作者
不仅仅是纹理的问题吧,三角形的 binning 本身就可能需要几遍,这就需要若干倍于 IMR 方式的空间、带宽。
回复 支持 反对

使用道具 举报

12#
 楼主| 发表于 2009-3-10 12:04 | 只看该作者
这个实际上就相当一个Index Triangle Fetch的意思,不会特别占用很多的Memory Addr Spaces,而且根据LRB Paper,大多数Triangle会被包含在一个Binning内,具体数据我忘了,可以查一下。至于Bandwidth,还是比IMR要节省很多的,这包括depth/stencil/Color Read&Write以及Unvisible Texture Fetch等等。而且Binning可以支持Brust Transfer
回复 支持 反对

使用道具 举报

13#
 楼主| 发表于 2009-3-10 13:43 | 只看该作者
AMD的我看了下,那个只能算是TBR不能算是TBDR,因为每次Tile计算的时候VS都要从新计算。
http://ati.amd.com/developer/gdc ... e_TileBasedGpus.pdf
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-1-28 03:51

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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