专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

DirectX 10特性简介

来源:小易整编  作者:小易  发布时间:2023-08-30 09:11
摘要:DirectXAPI(ApplicationProgramminginterface:应用程序界面)最早发布于1995年,其设计目标是为Windows平台软件开发人员提供一个更简便的针对多媒体和游戏应用编程的标准接口。在过去的十多...

DirectX API(Application Programming interface :应用程序界面) 最早发布于1995年,其设计目标是为Windows平台软件开发人员提供一个更简便的针对多媒体和游戏应用编程的标准接口。在过去的十多年中,DirectX已经稳步成为了Microsoft Windows平台上进行游戏开发的首选API。每一代的DirectX都带来对新的图形硬件特性的支持,因此每次都能帮助游戏开发者们迈出惊人的一步。

DirectX 10特性简介

DirectX 包含一组 API,通过它能访问高性能硬件的高级功能,如三维图形加速芯片和声卡。这些 API 控制低级功能(其中包括二维 (2D) 图形加速)、支持输入设备(如游戏杆、键盘和鼠标)并控制着混音及声音输出。构成 DirectX 的下列组件支持低级功能:

DirectX并不是一个单纯的图形API,它是由微软公司开发的用途广泛的API,它包含有Direct Graphics(Direct 3D Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多个组件,它提供了一整套的多媒体接口方案。只是其在3D图形方面的优秀表现,让它的其它方面显得暗淡无光。DirectX开发之初是为了弥补Windows 3.1系统对图形、声音处理能力的不足,而今已发展成为对整个多媒体系统的各个方面都有决定性影响的接口。

微软在DirectX 9中引入的了2.0/2.X/3.0三个版本的Vertex Shader(顶点着色引擎)以及Pixel Shader(像素着色引擎)。这看似是技术的推进,其实是微软在为nVIDIA和ATI两强搭建竞争舞台,而且其中的内耗直接导致技术普及速度减缓,并且利用率降低,更令软件开发商畏首畏尾。而进入DirectX 10时代之后,微软渴望使用统一渲染架构来引领群雄。

所谓统一渲染架构,大家可以直观地理解为将Vertex Shader、Pixel Shader以及DirectX 10所引入的Geometry Shader统一封装。此时,显卡中的GPU将不会开辟独立的管线,而是所有的运算单元都可以任意处理任何一种Shader运算。在微软的统一渲染架构下,既然所有的运算单元都可以处理任何一种运算,那么就能有效避免这种不合理的分配现象。

l 统一着色器架构:

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

l geometry shader(几何着色器)功能 :

对于DirectX 9和DirectX 10的区别, DirectX 10将利用DirectX 10来克服他们使用DirectX 9所面临的传统限制。例如,geometry shader(几何着色器)功能将使得游戏可以加速游戏的数学运算性能,诸如在GPU上进行物理运算。

l 运算效率更高:

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中高效的完成更为智能、复杂的渲染工作!


本文地址:网络知识频道 https://www.hkm168.com/jiqiao/1041142.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


网络知识
小编:小易整编
相关文章相关阅读
  • 奇异值分解(SVD)简介及其在图片压缩中的示例

    奇异值分解(SVD)简介及其在图片压缩中的示例

    奇异值分解(SVD)是一种用于矩阵分解的方法。它将一个矩阵分解为三个矩阵的乘积,分别是左奇异向量矩阵、右奇异向量矩阵和奇异值矩阵。SVD在数据降维、信号处理、推荐系统等领域广泛应用。通过SVD,我们可以将高维数据降低到低维空间,从而提取出数...

  • java8新特性有哪些

    java8新特性有哪些

    java8新特性有:1、lambda表达式;2、方法引用;3、默认方法;4、新编译工具;5、streamapi;6、datetimeapi;7、option;8、nashornjavascript引擎。Java8新增了非常多的特性...

  • 关系型数据库系统事务的ACID特性是什么

    关系型数据库系统事务的ACID特性是什么

    关系型数据库系统事务的acid特性:1、原子性;事务里的所有操作要么全部做完,要么都不做。2、一致性;数据库要一直处于一致的状态。3、独立性;并发的事务之间不会互相影响。4、持久性;一旦事务提交后,它所做的修改将会永久的保存在数据库上。本教...

  • 系统的特性有哪些

    系统的特性有哪些

    系统的特性有功能性、可靠性、可用性、性能、安全性、可维护性、可扩展性、兼容性、可定制性和易用性等。详细介绍:1、功能性,系统必须具备所需的功能,以满足用户的需求,功能性是系统的基本特性,它决定了系统是否能够完成预期的任务;2、可靠性,系统必...

  • Python中的lstrip()方法使用简介

    Python中的lstrip()方法使用简介

     lstrip()方法返回所有字符被去除开头字符串(缺省为空格字符)的一个复本。语法以下是lstrip()方法的语法:str.lstrip([chars])登录后复制参数chars--您提供要剪裁的字符。返回值此方法返回所有...

  • OrientDB简介

    OrientDB简介

    OrientDB是一个开源的NoSQL数据库管理系统。NoSQL数据库提供了一种机制,用于存储和检索引用非表格数据(如文档数据或图形数据)之外的数据的非关系或非关系数据。大数据和实时Web应用程序越来越多地使用NoSQL数据库。NoS...

  • 企业微信Mac版下载及特性详解

    企业微信Mac版下载及特性详解

    关于微信的问题,大家都很熟悉。对于大多数网友来说,微信是日常沟通的工具。此外,微信官方还为企业设计了企业微信,这对于工作上的交流更加合适。除了沟通交流外,企业微信还提供了许多企业使用的小模块,大大提高了工作效率。然而,一些使用mac系统的朋...

  • Siri 特性升级:iOS 17 让 Siri 为你朗读网页内容

    Siri 特性升级:iOS 17 让 Siri 为你朗读网页内容

    当你需要从safari浏览器获得一些信息,但不方便盯着看时,可以让siri帮你朗读网页中的内容。该功能适用于更新到iOS17或更新版本的机型,并需要网页支持。如何了解网页是否支持?打开Safari浏览器浏览网页时,轻点“大...

  • 周排行
  • 月排行
  • 年排行

精彩推荐