无标题文档
殊归同途
●殊归同途
2004年2月,美国德州Intrinsity向ATI正式授权Fast14电路设计技术。Fast14技术可以使GPU逻辑频率比当时的频率快4倍,如果ATI在那时实现这种技术,那么其VPU核心频率则有可望达到1.6GHz-2.4HGz之间。然而在3年后的今天,ATI的R600仍旧没有使用该项技术,第一款1G+Hz频率的GPU被NVIDIA的G80所实现。

全球首款shader频率过GHz显卡
G80的shader频率达到了1.35GHz,核心频率却停留在575MHz,这就引出了shader与核心频率异步的概念。Shader频率即我们平时所说的像素着色器与顶点处理器的运作频率,核心频率则是指纹理映射处理单元与ROP(Raster Operation partitions)光栅处理单元的运行频率。在G80之前,核心频率与Shader频率均以相同的频率运行。
其实NVIDIA早在GeForce 7系列中就提出了频率异步的概念, 顶点处理器的速度比核心频率高出几十MHz,在一定程度上提高顶点处理单元的运算速度。

GeForce 7900GTX的顶点频率高于核心频率50MHz
DirectX 9中引入了可编程shader的概念,在游戏的发展中人们逐渐发现,各个固定功能单元有些需要更快运行速度,例如像素处理单元,而有些运算单元的重要行则正在减弱,例如纹理映射单元及光栅处理单元。于是在今后的GPU发展中,我们看到了NVIDIA与AMD都不断的扩展像素处理器单元的规模,减小纹理映射单元与光栅处理器的数量,其中AMD在R580的的设计中像素着色器与纹理映射单元的比值更是达到了3:1。
G8×核心运行模式其实也是在加大像素着色器与纹理映射单元的比值,只不过其形式不再是通过单元数量上的变化,而是频率的异步。G8×系列的shader与TMU/ROP的频率比值在2.5:1左右,进一步强化了shader单元的重要性。
严谨来讲,G8×已经没有真正意义上的核心频率,我们所说的核心频率是指ROP(Raster Operation partitions)光栅处理单元的频率,不过为了照顾更多人的阅读习惯,我们在下文中仍称其为“核心频率”。
●高速shader的依据
与CPU类似,Shader在运算时主要依赖于片载缓存(cache),片载缓存是一个典型的采用流处理器的单元,它可以迅速输入和读取数据从而完成下一步的渲染。G8x的每个streaming multi-processor都拥有短小而简单的cache,Shader在运行时只需在这些片载缓存中输入或读取数据,不需要像纹理映射单元一样频率访问显卡内存,另片载缓存所需的访问时间又非常的低,这就为Shader的高频运行提供了可能。
nTune、ExperTool
在探讨shader异步对显卡发展的重要性之前,我们先要改变shader的不同运作频率。改变显卡频率主要有两种方式,其一是通过软件在系统中调节,其二就是更改显卡的BIOS设置,由于后者存在一定的风险性,此次更改显卡频率介绍主要以软件为主。目前可以对G8×进行超频的软件主要包括RivaTuner、ExperTool以及NVIDIA自家的nTune。
◆nTune

nTune
nTune是一款专为nVIDIA nForce系统计算机设计的性能调节优化软件,能够在游戏等应用中自动将系统设置为最优游戏性能表现。nVIDIA nTune是改变系统总线速度、显存频率、核心频率、电压等设置的最安全优化软件。使用nTune进行超频的方法比较简单,安装完nTune之后打开NVIDIA的控制面板会在左边栏出现性能→调整GPU设置的选项,我们只需在右边选中“自定义时钟频率”然后拉动“Core bus/Memory bus”的浮动条即可,最后点击“应用”使频率生效。不过nTune无法单独调整shader频率,因此无法组合出多样的频率设置。(我们得到消息,NVIDIA马上就会发布新的版本的nTune,可以独立调节流处理器的频率.)
◆ExperTool

ExperTool
ExperTool是耕升自主研发的超频工具,其特点是操作方便简洁,而且可以兼容除耕升以外的品牌显卡。ExperTool可以单独超频shader频率,只要将“Link clocks”一项取消即可,更改频率后点击“Test”测试通过后点击“应用”。
RivaTuner
◆RivaTuner
RivaTuner是众多第三方显卡软件的无冕之王,其功能非常丰富强大,我们今天主要关注RivaTuner关于超频方面的应用。

在RivaTuner主界面的“ForceWare deteced”一行右边的倒三角式图标上点击左键,出现一排图标之后点击第一项(显卡图标)“System settings”,之后会出现如下界面:

在“Enable driver”前面的框中选勾之后会弹出“Reboot reconmmended”对话框,此时我们点击“Detect now”之后便可进入显卡超频相关界面。

与ExperTool的操作方式相同,欲单独超频shader频率,只要将“Link clocks”一项取消即可,若需系统重启后仍保持频率更改后的状态,则需选中“Apply overclocking at Windows starup”一项,之后点击应用即可。
◆实时监控
RivaTuner还提供了系统各种运行状态的实时监控功能。

点击RivaTuner主界面上另一个倒三角图标之后查找"Harware monitoring"图标(放大镜图标),之后会出现各种系统信息的实时监控状态,而对于显卡超频来说只需运行其中的“Core clock\ROP domain”、“ Core clock\shader domain”、“Memory clock”三项即可。
实战之前
我们在超频时可能会注意到,就是当设置一个频率后,通过实时监控的软件会发现实际运行的频率会较我们输入的数值有一定差别,例如,如果我们输入660MHz而实际运行在648MHz,调整到666MHz时,保存之后却发现其真实频率会运行在675MHz,也就是说648MHz和675MHz之间的所有频率都无法保存。这是因为ATI与NVIDIA在频率设置中都锁定了基准调整频率,而这个值一般为27MHz。

锁定晶振器(图片引自CHIPHELL)
另外Shader频率如果设置为低于核心频率的2倍,那么设置将无法保存,例如如果将核心频率固定在700MHz,那么低于1400MHz的shader频率都不可能实现。如果我们想要获得更高的核心频率与更低的shader频率只能借助于更改BIOS。

可通过修改BIOS获得更低的shader频率
NVIDIA自Forceware 163.44驱动开始允许更改核心与shader的比值,因此我们想要通过软件在系统内单独更改shader频率,必须安装Forceware 163.44及以上驱动,而RivaTuner版本也不能低于2.05。(通过我们实测建议使用Forceware 169.22及RivaTuner2.06正式版)
一发动全身
我们进行了如下的测试方法:将默认频率为540/1350/1400MHz的GeForce 8500GT进行两次超频测试,使其分别运行在640/1350/1400MHz与540/1450/1400MHz,通过3DMark 06中的理论性能测试探求核心频率与shader频率对各个单元性能的影响。

(图1)540/1350/1400MHz

(图2)640/1350/1400MHz

(图三)540/1450/1400MHz
在填充率(Fill Rate)的测试中,核心超频后单纹理(Single-Texturing)性能有所提升,而多重纹理(Multi-Texturing)性能则是shader超频后有变化,可见随着纹理数量的增加shader也起到至关重要的重要。像素着色(Pixel Shader)测试项中,核心超频与shader超频后性能都有提升,不过增加shader频率后性能提升更为明显,这里也可以看出,像素着色能力仍受核心频率的影响。
我们知道,在统一渲染架构中,统一的流处理器单元无论在做顶点操作还是像素操作中都是同一频率运作,那么超频shader后顶点的处理能力也应该随之增加,然而我们的测试结果却与这条法则背道而驰:超频shader后简单顶点处理(Vertex Shader-Simple)性能无变化,而复杂顶点处理(Vertex Shader-Complex)性能也没有核心超频后提升幅度明显。此问题在询问多家厂商之后仍没有获知准确的理论依据。在此我也只能作出如下猜测:GPU在做完顶点操作进入setup操作时,由于setup的频率与核心频率相同,提升核心频率相当于与增加了数据传输的速度;而shader频率提升后虽然顶点处理能力有所增强,但是被限制在了setup操作上,因此性能无变化或变化较小。
原子系统(Shader Particles)测试需要shader单元运行简单的物理运算,因此shader频率增加后性能有所增加。柏林噪声(Perlin Noise)需要同时执行算术指令与纹理寻址因此提升核心与shader后性能都有加增。建模测试(Batch Size tests)系统会运行六次,在一个128x128的正方形中使用128个网格,一次性注入8、32、128、512、2048以及32768一批量的三角形。由于建模测试需要大量的纹理操作,因此提升核心性能后成绩增加明显。
测试平台即测试项目介绍
◆测试平台介绍:
| 测试平台介绍 |
| CPU |
Intel Pentiunm-E 2140 (1.6GHz L2=1MB) |
| 主板 |
ASUS BLITZ FORMULA (Intel P35+ICH9R) |
| 内存 |
KINGSTONG HYPER-X PC9200 DDRII-800(5-5-5-18) |
| 显卡 |
PNY GeForce 8500GT 256MB/128Bit 540/1350/1400MHz |
| 硬盘 |
希捷 SATA-II 10 7200转 250GB(8MB) |
| 电源 |
TT ToughPower 650W |
| 测试系统 |
Microsoft Windows XP SP2 Professional |
| 测试项目 |
3DMark 06
极品飞车11-专业赛道
孤岛危机
失落的星球-极限状态
英雄连-抵抗前线
|
◆测试方法介绍:
| 测试方法 |
| 3DMark 06 |
Game1~2+CPU Test+SM3.0 |
| 极品飞车11-专业赛道 |
Fraps运行同一实时演算CG,取平均值 |
| 孤岛危机 |
自带GPUMark运行3次取平均值 |
| 失落的星球-极限状态 |
Fraps运行同一场景3次,取平均值 |
| 英雄连-抵抗前线 |
自带性能测试运行3次取平均值 |
3DMark 06、英雄连、失落的星球
在前文的理论测试部分,提升核心频率获得性能增加的子项多于提升shader频率时性能的子项,那么实际的游戏中两者又是谁比较重要呢?
◆3DMark 06


◆英雄连-抵抗前线


◆失落的星球-极限状态


提升核心频率与shader频率游戏的性能都有所增加,不过在提升相同数值的情况下,shader频率增加后游戏帧数提高更大,在实际的游戏应用中,shader的重要性不言而喻。
极品飞车11、孤岛危机
◆极品飞车11-专业赛道


◆孤岛危机


在最近发布的大作《极品飞车11-专业赛道》、《孤岛危机》中,Shader的重要性更是被提到了一个比之前更为重要的高度,《极品飞车11-专业赛道》超频shader比超频核心的成绩高出5%,而在《孤岛危机》中这个比值更是高达10%。
写在最后
DirectX 10高级着色语言(High-Level Shading Language ,简称HLSL)给了shader一个更大的舞台,诸如16X全屏抗锯齿高动态范围(HDR)渲染技术、体积烟雾(volumetric smoke)、景深(DOF)、运动模糊(motion blur)、柔化粒子效果(soft particles)等一系列特效的实现都需要更加强大的shader,这就要求Shader所需的发展速度必须凌驾于GPU其他单元之上。NVIDIA的shader异步运行无疑是众多提升shader性能方法中最为出色的一个,在shader的发展史有着里程碑式的意义。

在对GeForce 8500GT的shader超频测试中,Shader可以稳定运行在2000MHz,这个频率也仅仅是shader超频性能的初探。此时显卡的性能对比原始频率有50%左右的性能提升,验证了NVIDIA通过增加shader运行频率而获得更强GPU性能的正确性。

crysis性能提升50%以上
殊归同途,无论是NV30的1:2(像素着色单元:纹理处理单元)也好,RV580的3:1也好,纵观显卡近几年的发展都是在机械的增加shader单元的数量,这也就是导致近年来显卡功耗急剧增加的主要原因,虽然制程的提升可以在一定成都上缓解这一问题,但是如果可以用更少的shader数量、更小的晶体管实现同样出色的游戏性能,何乐而不为呢?NVIDIA的shader异步做到了……