正在阅读:未来趋势!没有DirectX10就没有新电脑未来趋势!没有DirectX10就没有新电脑

2007-04-27 09:36 出处:PConline 作者:小板凳 责任编辑:zhouxijian

二、Vista系统的DirectX API有何优势?

  1、统一着色器架构

  此前的显卡都采用象素着色器跟顶点着色器分离的架构,这种架构不允许GPU同时处理象素跟顶点着色。比如说显卡在进行顶点着色的时候象素着色器单元就变成闲置,浪费了资源而且还形成了不必要的性能瓶颈。特别是现在分离式架构的GPU 的PS资源都要远高于VS,在这种状况下瓶颈的负担无疑是雪上加霜。实际上这种情况我们在游戏里就经常碰到。而在采用了统一着色器架构的GPU以及运行于DX10的系统中,显卡可以同时对顶点、几何以及象素着色进行处理,而不必等待逐个分别进行。这也使得资源得以合理分配,保证整个架构高效运行。

未来趋势!没有DirectX10就没有新电脑

  虽然目前只有NVIDIA的G8X采用了统一着色器架构。统一着色器架构还会令GPU更加适合处理通用化任务,这是由于一方面程序员无需再为不同的着色器单元编写不同的执行单元,也不必去顾虑不同着色器之间存在的差异,所对应的接口以及操作方式全部融为一体,从而使负责的开发流程得到一定程度上的简化。另一方面是由于shader单元的统一化使得任何通用计算程序都将在统一着色器架构的GPU上发挥它的所有计算资源,不存在我们上面提到的分离架构造成的着色器单元闲置问题。此外,统一架构的带来的执行单元和配套资源上的共享化也让之前分离架构上存在通用化计算问题迎刃而解。因此,游戏里像物理模拟、运动模拟以及其它原本不适合GPU计算的任务如今都可以交给GPU来做。GPU强大的性能使得那些原本无法达成的任务,比如流体运动模拟,得以在游戏中实现。这也极大了减低了系统对CPU的依赖性,原来给CPU的工作,让GPU执行通用化操作,而现代高速GPU的通用操作性能已经超过了高速CPU的性能,极大提高了系统的整体运算效率。
  
2、geometry shader(几何着色器)功能

  对于DirectX 9和DirectX 10的区别, DirectX 10将利用DirectX 10来克服他们使用DirectX 9所面临的传统限制。例如,geometry shader(几何着色器)功能将使得游戏可以加速游戏的数学运算性能,诸如在GPU上进行物理运算。
在过去的DX9中,Vertex Shader每一次运行只能处理一个顶点的数据,并且每次只能输出一个顶点的结果。在整个游戏场景中,绘制的几何图形的任务量非常庞大,如果仅仅依靠Vertex Shader单一来完成,效率会极其低下。而更致命的是VS无法单独生成或重组多边形,所以在以往只有VS跟PS的GPU中,生成一个模型往往需要CPU的“大力支持”。

未来趋势!没有DirectX10就没有新电脑

  DX10中的Geometry Shader改变了这点。它的作用就是对每个Vertex数据临近的数据进行Vertex函数处理。这种函数处理可以快速的把模型类似的顶点结合起来进行运算。虽然其操作不会象Vertex Shader那样的进行完整的几何转换操作,只是处理器单个顶点的相关函数操作,但是这种操作却可以确定整个模型的物理形状,这将大大加速处理器速度。基于此特性,Geometry Shader可以根据顶点的信息来批量处理几何图形,对Vertex附近的数据进行函数处理,快速绘制出新的多边形。然后再通过steam out将这些结果传递给其他Shader或buffer,使得CPU可以从原本复杂庞大的多边形运算中解放出来。现在可以让GPU直接处理细微的粒状效果,如烟雾和爆炸效果等(在这之前这一任务通常交由CPU来完成)。而由于GS的性能要比CPU高出许多,同屏下能够渲染的粒子数量也就更多,所以可以预计烟雾跟爆炸的效果会比以往更为震撼。你可以期待GPU进行更多的游戏运算,这样将产生更多动态的场景,而减少数据交换信息意味着场景具有更复杂的几何和多样性。而游戏将更加漂亮,因为它们将有更加复杂的模型,更加细致的物体,或者说同一屏幕上更多的物体,而由于结合了更加复杂的物理,视觉效果将更加复杂,更加真实。例如流动的水,微风吹拂的叶子,这些都将是互动的。当你在树林中行走时,被碰到的树枝将分到两边,而在战斗场景中穿行将有烟雾弥散效果,所有这些结果将更加真实,并呈现出更加愉悦的游戏体验。

未来趋势!没有DirectX10就没有新电脑

3、运算效率更高

  DirectX 10另一个最令人注目的改进就是可以为API节省计算开销(API overhead)。所谓API overhead就是游戏在处理画面上的每一个物体(object)时(比如人物、岩石等等),都需要先将这些object传送至API,然后再由API传给驱动程序,而这个过程都需要CPU做出处理。当 Object 越多(每一帧画面通常超过几百个),对CPU的负担就越重,所需要消耗的处理时间就越长从而构成瓶颈。而之前DirectX 9就存在API overhead太大造成CPU资源占用率过高的弊病,因为DirectX 9每使用一个object都需要CPU为其做资源确认。
而全新的DirectX 10针对这方面作出了改善,采用了全新设计改良的Validation机制。现在只有在该object生成时,才需要CPU做确认,此后在使用Object时就不需要再次确认了,从而大幅降低CPU的负担。简而言之就是DirectX 10可以有效减少CPU处理3D物体的时间,所以现在每一帧画面可以拥有更丰富的3D物体(无论是树木、贴图还是人物)。而CPU被释放出来的空余资源还可以让制作者用于其它诸如物理、人物运动以及AI等方面的计算。DirectX 10还带有一个真正的整数指令集,可以尽可能完成更多的寻址计算,更多的数据打包和解包;当然这些功能并不会创造出一些新的画面特效,但它允许开发人员在GPU中高效的完成更为智能、复杂的渲染工作!

未来趋势!没有DirectX10就没有新电脑

  此外,HDR(高动态范围渲染)方面,由于DirectX 10硬件支持RGBE,所以HDR纹理不再需要特别解码处理也能实现,HDRAA也得以轻松实现。另外DX10还支持两种全新的HDR模式,一款是 R 11G 11B10 ,采用 11-Bit 红色和绿色、 10Bit 蓝色,另一款是采用 5Bit 共享加每种颜色以 9Bit 作尾数运算,以上两款HDR模式在HDR品质上和标准的FP16几乎没有差别,但却能有效减少资源损耗及显存带宽占用率,从而消除了以往HDR的瓶颈。另一方面, DirectX 10 还支持更高精度的FP32 HDR(每通道32bit,所以也有人美其名曰:128bit HDR),随时为玩家提供更高质量的 HDR 效果做好准备。

键盘也能翻页,试试“← →”键

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
热门排行

DIY论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品