POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 39394|回复: 63
打印 上一主题 下一主题

我也说说TBDR与Deferred Shading

[复制链接]
跳转到指定楼层
1#
发表于 2013-1-10 09:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 Vendicare 于 2013-1-10 15:46 编辑

看见有人争论PowerVR和G70的优劣,其中扯到了TBDR技术。虽然怎么说都有点关公战秦琼的意思,不过我还是忍不住也来谈谈TBDR和Deferred shading两者的区别和优劣。

Tile-based Deferred Rendering是个很老很老的东西了。借助别人说过100遍的话:

传统的3D显示芯片处理过程是先进行几何运算,然后读取、生成纹理等操作,然后通过深度测试决定像素是否可见,之后将可见像素进行必要的处理后输出到Framebuffer显存上,之后由RAMDAC读取显存经过数模转换输出到显示器上。这个过程中有一大缺点就是无论像素是否可见,都必须经过渲染,这将浪费大量填充率和带宽,这被称为overdraw。

  为了解决这一矛盾,PowerVR的TBR在几何运算后,将屏幕的像素分成了很多矩形小块,先经过每个小块的深度测试,测试小块是否可见决定小块中的像素是否应当被渲染,之后将需要被渲染的再交给渲染管线去处理,之后输出。这样一来,不可见的像素已经提前被剔去不用被渲染,很大程度上节省了带宽,减少了渲染管线的压力。

本质上TBDR就是一种Deferred shading然而TBDR有很多问题。

首先深度测试必须有人来做。不管是显卡还是CPU要想在渲染前检测景深肯定要进行计算,这部分计算的开销要么产生性能损失,要么产生电路开销。而且场景越复杂开销越惊人。(CPU蛋疼)

其次,为了检测像素是否被遮挡,state load非常频繁。而state load不利于访存,如果场景中多边形变多而且互相间关系复杂,TBDR造成的访存需求会成倍上升。带宽这东西绝大多数时间都是珍贵的,所以TBR技术一开始就没能跨过这道门槛。(带宽蛋疼)

TBDR要求需要将模型存进scene buffer里,对于现在游戏场景中随便就几千万个三角形的建模规模,要想保证不发生缓存溢出,基本上必须在显卡上集成个16M的SRAM才差不多有戏。这个晶体管数量随便就干翻HD4000了(夸张的说法,未考证,欢迎踢爆)。(缓存蛋疼)

使用TBDR的时候不能改变PS的Z值,这阻碍了很多光照特效的使用。要想作出好的效果就要不停地Disable buffered shading。编程开发工作量巨大无比。(程序员蛋疼)

最后回到主要矛盾上来,TBDR的主要受益人其实是TMU、其次是PS单元。然而TMU在很久很久以前就已经不是显卡的瓶颈了,统一渲染以后PS单元也可以灵活调配了。更为关键的是nvidia强推的Multi-Pass技术流行,这玩意在桌面领域迅速让TBDR完全没有任何存在的理由。在90年代末期的3D时代中,由于大家还在着力解决温饱问题,TBDR对于简单场景中运算资源的节约还是比较受人欢迎的。一如高粱这种农作物,当人民解决温饱问题后,没有人会再去缅怀高粱。PowerVR退出桌面是历史的选择,随着移动SOC处理能力的激进发展TBDR退出手机领域也只是时间问题。


Deferred Shading待续

64#
发表于 2017-3-4 17:51 | 只看该作者
huangpobu 发表于 2013-1-10 14:43
我说说我的理解,不一定对,大家可以讨论下。

首先的的确确是关公战秦琼,我的帖子第一点第一行加粗的字 ...

                                                                                                                                               zishubuding
回复 支持 反对

使用道具 举报

63#
发表于 2013-1-13 08:20 | 只看该作者
westlee 发表于 2013-1-11 19:13
P4 670达到n230一倍以上的性能没啥问题吧。

那张图是xbit做的测试,+12v cpu是主板向cpu部分的 ...

《量化研究方法》上的对比是用平均功耗来比的,atom 230跑测试的平均功耗在4W附近,i7-920在43w附近,二者制程都是45nm.


我已经把作者比对的结论贴在版面上33楼,结论用加粗的文字标识了。我相信看懂那一段浅显的英文对你来说不成问题,事实上那段结论也不是《量化研究方法》两位大牛作者的个人看法,我看过的其他论文也是这么说。
回复 支持 反对

使用道具 举报

62#
发表于 2013-1-13 08:06 | 只看该作者
本帖最后由 huangpobu 于 2017-3-4 18:19 编辑

zishubuding
回复 支持 反对

使用道具 举报

61#
发表于 2013-1-13 08:02 | 只看该作者
66666 发表于 2013-1-11 09:41
你这理论胡扯淡到了极点,不同构架的浮点峰值能等同3D渲染功耗的效能比?

HD5系理论单精度峰值远远超过 ...

请这位天神级架构师仔细看看我每一楼的回复。

我强调了一遍又一遍 TDP / GFLOPS 不是公平的比较方式,我是出于没有可用数据才这么比。而您还视而不见,我只能说要不是视力有问题,要不就是人品有问题故意抹黑。

请问这样的言辞风格您喜欢么?
回复 支持 反对

使用道具 举报

60#
发表于 2013-1-13 07:58 | 只看该作者
66666 发表于 2013-1-11 09:41
你这理论胡扯淡到了极点,不同构架的浮点峰值能等同3D渲染功耗的效能比?

HD5系理论单精度峰值远远超过 ...

您的理论更加胡扯淡到了极点,不同构架的浮点峰值能等同3D渲染功耗的效能比这种弱智般的言论不用您这个天神级architecture来强调,我懒得看您扯淡,麻烦您上数据。

您连G70\Kepler眼下根本装不进手持设备这种基本事实都一再忽视,还扯什么蛋的高性能?Kepler装进iPhone里能顶屁用?

您这个天神级architect怎么不代替那个弱智austin团队来在当时的工艺器件条件下设计一个满足一切constraint的乱序CPU?
回复 支持 反对

使用道具 举报

59#
发表于 2013-1-11 21:11 | 只看该作者
Vendicare 发表于 2013-1-10 21:52
各种因素都有,但是频率是开普勒省电的关键。提频之后也没法消灭580 tri ski

GK110也不一定能灭掉580 TRI SLi ,更何况是GK104
回复 支持 反对

使用道具 举报

westlee 该用户已被删除
58#
发表于 2013-1-11 19:13 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

57#
发表于 2013-1-11 09:48 | 只看该作者
huangpobu 发表于 2013-1-10 19:56
那么我可不可以问一下您自己相比Austin团队那群弱智。。。。。。。。。。。

按您这样说,反正我弱 ...

作为一个ATOM曾经的用户,这样的狗屎的体验感让我觉得做这个产品的人就是弱智。

你是不是弱智跟我有什么关系?能长期用ATOM做一般桌面应用的人我倒是很佩服,比P4双核都慢的玩意。
回复 支持 反对

使用道具 举报

56#
发表于 2013-1-11 09:41 | 只看该作者
本帖最后由 66666 于 2013-1-11 09:41 编辑
huangpobu 发表于 2013-1-11 02:14
的确是不能这样比,但是现在是半夜两点,我搜来的数据只能做到这样了。

请那位说Austin团队是弱智的超 ...

你这理论胡扯淡到了极点,不同构架的浮点峰值能等同3D渲染功耗的效能比?

HD5系理论单精度峰值远远超过费米,实际DX11游戏性能惨不忍睹。

谈了半天你连最基本的东西都搞不清楚,还好意思在这谈3D图形的性能功耗比真是233到家了。

TPU每一次评测都有显卡功耗比测试,你自己去看看人家是拿什么做评测的。即使是K20这类专业加速卡,不同计算类型的功耗比都是不一样的。要不然GPGPU发展这么多年依然有很大限制,即使是所谓理论峰值远远超过多核CPU
回复 支持 反对

使用道具 举报

55#
发表于 2013-1-11 09:11 | 只看该作者
本帖最后由 f0f0f0 于 2013-1-11 09:45 编辑

这对比的只是理论单精度浮点性能,还没算实际能发挥多少,就算显存带宽减半,只要GPU核心频率不变也并不影响GK104-400-A2的理论单精度浮点性能,PowerVR SGX545也一样,就算配上独立显存,他的理论单精度浮点指标也不会增加。
回复 支持 反对

使用道具 举报

54#
发表于 2013-1-11 03:14 | 只看该作者
泡坛子被女朋友骂了,不能再玩了,若有冒犯向各位道歉,我主动删帖了,88.

以后若有空可能会回来。
回复 支持 反对

使用道具 举报

53#
发表于 2013-1-11 02:41 | 只看该作者
只测试核心功耗,很少有人有AnandTech那样的条件,所以在整个网上除了AnandTech没有别的地方见到过实测核心功耗。

但是如果只凭实测核心功耗,也有问题,这样的话独立GPU白白享受了GDDR5提供的极高的显存带宽而算功耗的时候却不用付出任何代价,SOC里面的GPU只能共享读写带宽。

要比拼架构优劣,除了像《量化研究方法》上那样抓到那么好的机会以外,其他的真的很难很难比,比较现实的应该是比试平台功耗和性能。
回复 支持 反对

使用道具 举报

52#
发表于 2013-1-11 02:14 | 只看该作者
f0f0f0 发表于 2013-1-11 01:56
那个白皮书里1.6倍的能耗比用来对比的是实际游戏性能,不是理论单精度浮点。不能直接拿实测游戏能耗比的结 ...

的确是不能这样比,但是现在是半夜两点,我搜来的数据只能做到这样了。

请那位说Austin团队是弱智的超神级图形架构师来做一做这个小学生算术题吧。
回复 支持 反对

使用道具 举报

51#
发表于 2013-1-11 01:56 | 只看该作者
huangpobu 发表于 2013-1-11 00:59
非常感谢指正,我刚才看了那个白皮书的后半段,发现所谓的GPU功耗还是指全卡功耗,195W应该是全卡功耗。
...

那个白皮书里1.6倍的能耗比用来对比的是实际游戏性能,不是理论单精度浮点。不能直接拿实测游戏能耗比的结果和理论单精度浮点性能的能耗比对比啊。而且实测游戏的能耗比很难说清的,这家网站测出来的功耗小一点,平均性能测的高一点,能耗比和另一家网站的结果就差远了……
看这里关于TDP的内容的话
http://www.anandtech.com/show/5840/gtc-2012-part-1-nvidia-announces-gk104-based-tesla-k10-gk110-based-tesla-k20
K10是225瓦,如果这样推算理论单精度浮点性能的能耗比就是另一个结果了
关于K10和M2090理论单精度浮点的性能
http://www.nvidia.com/object/tesla-servers.html
NV官网没有找到K10的TDP,但是GTX 690的TDP是300瓦,K10的TDP只会更低
http://www.geforce.com/hardware/desktop-gpus/geforce-gtx-690/specifications
另外虽然还没找过具体规格,但是那6Gbps的2GB GDDR5和显卡PCB上一堆原件我觉得27瓦真的不够。



回复 支持 反对

使用道具 举报

50#
发表于 2013-1-11 01:16 | 只看该作者
本帖最后由 huangpobu 于 2013-1-11 01:23 编辑

我的浏览器似乎出了问题,一编辑帖子就会变成排版全乱掉的形式,请各位见谅。
回复 支持 反对

使用道具 举报

49#
发表于 2013-1-11 00:59 | 只看该作者
本帖最后由 huangpobu 于 2013-1-11 02:05 编辑

以前的帖子里我强调过GFLOPS除以TDP这样的比较方式不准,如果有人有实测功耗,请告诉我。

http://www.bjorn3d.com/2010/11/nvidia-geforce-gtx-580-gf110/#.UO7vdncUGM4

这里面说GTX580的效能相比GTX 480提升了差不多1.35

那个白皮书里面有图,GTX680相对GTX580提升了1.6左右,那么合起来最终结果是提升了2.15倍。

GTX 480的核心功耗是167W(数据出自《量化研究方法》英文第五版P325),峰值计算速度是1345GFLOPS.

换算下来是8.05GFLOPS/watt,乘以提升倍数是大概17.388 GFLOPS/watt ?

那么这样推算的话GTX680的核心功耗大概在168W附近。我之前算错的原因是轻信了wikipedia的数据,wikipedia算错了,如果除以全卡功耗,GTX680的能耗比只有15附近,除以GPU chip power才是17.388.
回复 支持 反对

使用道具 举报

48#
发表于 2013-1-11 00:50 | 只看该作者
本帖最后由 huangpobu 于 2013-1-11 01:17 编辑

[quote]f0f0f0 发表于 2013-1-11 00:04 http://www.bjorn3d.com/2010/11/nvidia-geforce-gtx-580-gf110/#.UO7vdncUGM4



我那一楼里算错了,感谢指正,已经纠正了。
回复 支持 反对

使用道具 举报

47#
发表于 2013-1-11 00:04 | 只看该作者
本帖最后由 f0f0f0 于 2013-1-11 00:26 编辑
huangpobu 发表于 2013-1-10 23:42
我以前发帖的时候就说了,这个功耗肯定不能代表TDP,所以这个测试我从开始就说了,不公平。对PowerVR和Ke ...

我想说的是你这个对比方法对GK104-400-A2更加不公平……
首先是用整卡TDP代替GPU核心TDP,比如一块主板加上一颗CPU和内存,测出的功耗总不能说是CPU的功耗吧。
GK104-400-A2核心的TDP,在GTX 680发布前,这个论坛有人贴过一张图,说实话我找不到那个帖子了,而且找到了也不能证明其真实性,记得当时那帖子说的是115瓦。
我也觉得无论功耗还是性能都不是一个数量级的芯片不好直接对比能耗比,但是首先频率和性能不是线性关系,其次功耗和性能更加不是,如果pvr的显卡要达到GK104-400-A2的性能水平,恐怕不是直接用pvr的功耗乘以理论单精度浮点性能的倍数就行的。
至少功耗差了一到两个数量级的芯片对比能耗比,对高功耗芯片来说不公平,这个你之前在提到atom和i7的时候也说过。
假如用之前那个115瓦来算的话,对比结果是28.2GFlops(GK104-400-A2) vs 24GFlops(PowerVR SGX545),GK104-400-A2还略占优势,当然前者是tsmc的28nm HP制程,后者是Intel 32nm HKMG(low power?)制程,至于这两种制程孰优孰劣就是另一个问题了。
====================================================================================搜了一下,找到当初说115瓦的那个帖子了,不过图片已经X了:http://we.pcinlife.com/forum.php ... 9953&fromuid=346110






回复 支持 反对

使用道具 举报

46#
发表于 2013-1-10 23:42 | 只看该作者
f0f0f0 发表于 2013-1-10 23:31
anandtech这个测的是GPU部分的功耗吧,首先这个功耗测试能不能代表TDP?至少如果是桌面显卡的话不能只测一 ...

我以前发帖的时候就说了,这个功耗肯定不能代表TDP,所以这个测试我从开始就说了,不公平。对PowerVR和Kepler都不公平,而且理论浮点性能和实际也是两回事情,更加公平的测试是直接测渲染分数,但是我没有找到。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-14 01:50

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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