a"!D @a rKP;T"?; Radeon是一款好显卡,但不是颗好GPU .ZK|%VGW VW7
?{EL7 作为显卡来说,AMD的Radeon自HD4000时代以来为游戏玩家提供了众多优秀的产品,HD5000/HD6000系列丝毫不输给NVIDIA同级产品,性能、功能、价格、功耗等各方面表现得都很不错。对于AMD下代HD7000系列,我们毫不怀疑它在3D游戏中会有更出色的表现。
R!v ?d2 ozs
xqN 但作为GPU来说,AMD的产品显然要逊色很多,不支持物理加速、Stream通用计算性能不如CUDA,支持GPU加速的软件也屈指可数,这已经成为AMD最大的软肋,并且成了NVIDIA和NFan们攻击的对象。
Jy,Dcl (HHVup1f )xJo/{? 'xO^2m+N; 随着时间的推移,保守的AMD终于尝到了固步自封的苦果:当NVIDIA的CUDA计算课程进入高校学堂、Tesla杀进超级计算市场、Quadro拿下95%的专业卡市场份额之时,AMD的Radeon还只能游弋在3D游戏领域,苦守来之不易的半壁江山。
n3-2;xuNKE t=`bXBX1 想当年AMD率先提出GPU通用计算的概念,但最终却在NVIDIA的CUDA手中发扬光大。很多人以为这是AMD收购ATI后自顾不暇的关系,其实根本 原因还在于GPU的架构——传统基于3D图形处理的GPU不适合于进行大规模并行计算,AMD的GPU拥有恐怖的理论运算能力却无从释放。而NVIDIA 则从G80时代完成了华丽的转身,逐步完善了硬件和软件的协同工作,使得GPU成为高性能计算必不可少的配件。
_&/FO{ F@m zU+` o?al k$V.hG|6M UuV<#N) 俗话说的好:苦海无涯、回头是岸,亡羊补牢、为时不晚。AMD终于在代号为Southern Islands(南方群岛)的新一代GPU中,启用的全新的架构,AMD称之为“Graphics Core Next”(GCN,次世代图形核心),并冠以革命性的称号。这是AMD收购ATI之后的近5年来第一次对GPU架构进行“伤筋动骨”的“手术”,而架构 调整的核心内容则是为并行计算优化设计。
:Fm{U0;" #j_<iy 那AMD的“次世代图形核心”相比沿用了五年之久的架构到底有何改进?其并行计算性能相比对手NVIDIA有无优势?3D游戏性能会否受到影响呢?本文将 为大家做一个全方位的解析,文中会穿插一些3D渲染原理以及显卡基础知识,并谈谈GPU图形与计算的那些事儿……
);LkEXC_' |eEcEu?/b 成也微软败也微软:XBOX360阻碍显卡/游戏发展 Ksp!xFk _T\~AwVc< 微软的DirectX 9.0C是一个神奇的图形API,自2004年首款DX9C显卡GeForce 6800 Ultra问世以来,至今已有将近8年时间,之后虽然微软发布了DX10、DX10.1、DX11、还有现在的DX11.1等多个新版本,但DX9C游戏 依然是绝对主流,DX10以后的游戏全部加起来也不过几十款而已!
>*TFM[((Y) `Gl@?9,i 因此,当年的DX9C显卡之战,很大程度上决定了此后很多年的显卡研发策略。从最开始X800不支持DX9C对抗6800失利,到X1800支持DX9C 却性能不济,再到X1900登上顶峰,还有半路杀出来XBOX360这个程咬金,ATI被AMD收购前的经历犹如过山车般惊险刺激!
oGzZ.K3 A QR!8 n LL~bq(b {+V1>6 DXC如此长寿的原因,相信游戏玩家们已经猜到了,那就是游戏主机太长寿了——微软XBOX360以及后来索尼PS3使用的GPU都是DX9C时代的产 品。游戏开发商的主要盈利来源在主机平台,所以根本没心思把PC游戏做好,尤其对提高PC游戏的画面及引擎优化提不起兴趣,个别以高画质而著称的PC游戏 倍受打击,很多DX10游戏续作倒退到DX9C就是很好的证明。
/f!CX|U `+~@VZ3m 可以说,这么多年来PC 3D游戏图形产业的发展,成也微软、败也微软。
Z4\$h1tl HvWnPh1l Pg3O )D9 O
-a`A. XBOX360的GPU——Xenos,由ATI设计
qb+vptg@I zwAkXj ^Zh
YW M1Jnn4w*d Xenos的核心架构图
/aepE~T ]M|Iy~
X 微软XBOX360的成功,给GPU供应商ATI发出了一个信号,那就是今后N年内的游戏都将基于XBOX360的硬件而开发。当时ATI与Xenos同 时研发的一颗GPU代号为R580,俩者拥有相似的架构,而R580在当年也成为DX9C显卡的王者,这就让ATI更加坚定了维持现有架构不变的决心。
q]%c
6{w Y'NQt?h 从X1900XTX谈起:用3:1黄金架构做计算 C7ZU)MEUd/ K0xZZ` 下面我们就来看看R580的核心架构,也就是当年的王者X1900XTX/X1950XTX所使用的GPU,后来次高端RV570核心(X1950Pro)的架构也类似。
9/LI[{ hP4*S^l ?)9mHo^ %DAF26t R580:8个顶点着色单元、48个像素着色单元、16个纹理单元
IrU}%ZVV <~BheGmmy DX9C显卡还没有统一渲染架构的概念(XBOX360的Xenos是个特例),所以R580依然是顶点与像素分离式的设计。当时的GPU核心部分被称为 管线,比如7800GTX拥有24条像素渲染管线,但X1900XTX却不能称为拥有48条像素渲染管线,因为它的像素与纹理单元数量不对等。
z.f~wAT@< ;C8'7 GPU的工作原理:
F=C8U$'S Gc)
Zu`67 M2ig iR cGw* edgp6 显卡的渲染流程是通过顶点单元构建模型骨架,纹理单元处理纹理贴图,像素单元处理光影特效,光栅单元负责最终的像素输出。
Az2HlKF"L T,h,)|:I^ GPU的管线是什么? Yt"&8N] H4'xxsx 在R580之前,GPU的像素单元与纹理单元还有光栅单元是绑定在一起的,数量一样多,整个渲染过程就是流水线作业,因此像素与纹理加起来称为一条管线。
t
7D2k2x9 fL7ym,? 什么是3:1架构? 1!RD
kZwe G`NH~C R520核心(X1800XT)的像素与纹理都是16个,但R580核心在纹理单元维持16个不变的情况下,把像素单元扩充了3倍达到了48个之多。 ATI研发工程师发现新一代游戏中使用像素着色单元的频率越来越高,各种光影特效(尤其HDR)吃掉了像素着色单元的所有资源,而纹理单元的负载并不高, 继续维持像素与纹理1:1的设计就是浪费资源,于是ATI根据3D游戏引擎的发展趋势做出了改变,并把R580这种不对等的架构称之为3:1黄金架构,管 线的概念至此消失。
Z']D8>d Z7&Bn