您的位置首页>企业动态>

什么是DirectX10?

导读 大家好,我是极客范本期栏目编辑小范,现在为大家讲解以上问题。在DirectX 10的图形管道系统中,最大的结构变化是在几何处理阶段增加了

音频解说

大家好,我是极客范本期栏目编辑小范,现在为大家讲解以上问题。

在DirectX 10的图形管道系统中,最大的结构变化是在几何处理阶段增加了一个Geometry Shader。几何渲染单元附属于顶点渲染单元,但不像顶点渲染单元那样输出顶点,而是以像素为处理对象。

图元在层次结构中比顶点高一级,它由一个或多个顶点组成。由单个顶点组成的图元称为点,由两个顶点组成的图元称为线,由三个顶点组成的图元称为三角形。几何渲染单元支持点、线、三角形、有相邻点的线、有相邻点的三角形等多种图元类型。它一次最多可以处理六个顶点。借助丰富的图元类型支持,几何渲染单元可以使GPU提供更精细的模型细节。

几何渲染单元赋予GPU创建新几何对象和向场景添加内容的神奇能力。灵活的处理能力使得GPU更加通用,很多过去依赖CPU的任务现在都可以由GPU来处理。这样,CPU就有更多的时间来处理人工智能、寻址等。更令人惊讶的是,几何渲染单元还使添加物理操作变得更加容易。DirectX 10可以创建具有物理特性的盒子并模拟刚性物体,物理操作有望在其领导下逐渐普及。可以预见,借助几何渲染单元,显卡的性能会有质的飞跃,我们也将体验到速度更流畅、画面更精美、剧情更细致的游戏。

提高了应用编程接口和驱动程序的效率。

我们知道,每一个游戏角色、武器、场景都是3D程序中的一个Object,游戏画面的每一帧都可能出现上百个对象。显卡工作时,每一个Object都必须从应用程序转移到API接口,然后通过显卡驱动到达显卡。在现有的DirectX系统中,任何对象的操作或渲染都会导致系统资源的额外消耗。游戏中的物体越多,传输时间就会越长,造成的额外消耗也就越多。据统计,现有的DirectX 9图形芯片工作时,其性能只有60%用于计算3D程序,剩余40%的计算能力被浪费了!

为了改变这种情况,DirectX 10在渲染程序中采用了动态索引功能,由驱动程序自动加载Object,数据可以分类连续输入。因此,单次传输的数据量增加,从而大大减少了额外消耗的时间。通过引入新的API和驱动,DirectX 10可以将图形芯片的性能提升到80%。在不增加显卡硬件成本的情况下,显卡的性能得到了很大的提升。

并联发动机支持技术

为了提高多显卡之间的协作效率,微软在DirectX 10中提出了“并行引擎支持”的概念,可以将两个GPU所需的数据提前传输到两个对应的GPU,帧渲染将完全由驱动控制和部署,这样可以很好地平衡两个显卡的工作强度。但是在目前主从卡的运行模式下,主卡要判断从卡的帧数和渲染数量。引入并行引擎支持技术后,主从卡的概念将消失,两个甚至更多显卡的协同能力将得到充分体现。

DirectX 10

统一渲染架构

DirectX 10最大的创新是统一着色器架构。目前各种图形硬件和API都采用单独的渲染架构,即顶点渲染和像素渲染独立进行。前者的任务是构建包含3D坐标信息的多边形顶点,而后者是将这些顶点从3D转换为2D,从而通过视觉欺骗将“3D”场景显示在屏幕上。相应地,GPU也有专门的顶点渲染单元和像素渲染单元分别执行这两项任务(由于工作负载不同,这两个渲染单元的数量并不相等,顶点渲染单元通常只有像素渲染单元的1/3 ~ 1/2)。在过去的几年里,这种分离的设计为计算机图形学的发展做出了一些贡献。

然而,微软认为这种单独的渲染架构不够灵活。不同的GPU像素渲染单元与顶点渲染单元的比例不同,软件开发人员在编写代码时必须考虑这个比例,这大大限制了开发人员发挥的自由空间。此外,不同的图形游戏或软件对像素渲染和顶点渲染的要求不同,导致GPU计算资源利用率不足。于是,微软在DirectX 10中提出了统一渲染架构的思想:不同类型的渲染程序在同一物理类型的渲染单元上执行。换句话说,只使用一个渲染单元,就可以完成顶点渲染、像素渲染甚至几何渲染。这样可以最大限度地利用渲染单元,减少资源闲置的情况。目前Xbox 360的显示芯片Xenos采用统一的渲染架构。该芯片共有48个渲染单元,均可用于顶点渲染或像素渲染,没有固定的分配比例。此外,ATI还打算在新一代R600芯片中采用统一的渲染架构。

当然,统一渲染架构并不完美。与顶点渲染相比,像素渲染会面临大规模使用纹理带来的材质延迟,这是统一渲染架构中亟待解决的问题。不过有一点可以肯定,随着微软的大力推广,统一渲染架构是大势所趋。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。