DirectX是什么

Fanly 2020-10-16 22:07:34
问答

DirectX(DX)是微软公建的多媒体编程应用程序接口。可以让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和声音效果,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。

DirectX(Direct eXtension,简称 DX)是由微软公司创建的多媒体编程接口,是一种应用程序接口(API)。DirectX 可以让以 windows 为平台的游戏或多媒体程序获得更高的执行效率,加强 3D 图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。DirectX 已被广泛使用于 Microsoft Windows、Microsoft XBOX、Microsoft XBOX 360 和 Microsoft XBOX ONE 电子游戏开发。

DirectX

功能介绍

功用

DirectX 加强 3D 图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件来写不同的驱动程序,也降低了用户安装及设置硬件的复杂度。

从字面意义上说,Direct 就是直接的意思,而后边的 X 则代表了很多的意思,从这一点上可以看出 DirectX 的出现就是为了为众多软件提供直接服务的。

举例来说,以前在 DOS 下骨灰级玩家玩游戏时,并不是安装上就可以玩了,他们往往首先要设置声卡的品牌和型号,然后还要设置 IRQ(中断)、I/O(输入与输出)、DMA(存取模式),如果哪项设置的不对,那么游戏声音就发不出来。这部分的设置不仅让玩家伤透脑筋,对游戏开发者来说就更为头痛。为了让游戏能够在众多电脑中正确运行,开发者必须在游戏制作之初,把市面上所有声卡硬件数据都收集过来,然后根据不同的 API(应用编程接口)来写不同的驱动程序。这对于游戏制作公司来说,是很难完成的,所以在当时多媒体游戏很少。微软正是看到了这个问题,为众厂家推出了一个共同的应用程序接口——DirectX。只要游戏是依照 Directx 来开发的,不管显卡、声卡型号如何,统统都能玩,而且还能发挥最佳的效果。当然,前提是使用的显卡、声卡的驱动程序必须支持 DirectX 才行。

组成

DirectX 是由很多 API 组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。

显示部分

显示部分担任图形处理的关键,分为 DirectDraw(DDraw)和 Direct3D(D3D),前者主要负责 2D 图像加速。它包括很多方面:我们播放 mpg、DVD 电影、看图、玩小游戏等等都是用的 DDraw,你可以把它理解成所有划线的部分都是用的 DDraw。后者则主要负责 3D 效果的显示,比如 CS 中的场景和人物、FIFA 中的人物等等,都是使用了 DirectX 的 Direct3D。

声音部分

声音部分中最主要的 API 是 DirectSound,除了播放声音和处理混音之外,还加强了 3d 音效,并提供了录音功能。我们前面所举的声卡兼容的例子,就是利用了 DirectSound 来解决的。

输入部分

输入部分 DirectInput 可以支持很多的游戏输入设备,它能够让这些设备充分发挥最佳状态和全部功能。除了键盘和鼠标之外还可以连接手柄、摇杆、模拟器等。

网络部分

分类

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 是一组低级“应用程序编程接口(API)”,可为 Windows 程序提供高性能的硬件加速多媒体支持。Windows 支持 DirectX 8.0,它能增强计算机的多媒体功能。使用 DirectX 可访问显卡与声卡的功能,从而使程序可提供逼真的三维(3D) 图形与令人如醉如痴的音乐与声音效果。DirectX 使程序能够轻松确定计算机的硬件性能,然后设置与之匹配的程序参数。该程序使得多媒体软件程序能够在基于 Windows 的具有 DirectX 兼容硬件与驱动程序的计算机上运行,同时可确保多媒体程序能够充分利用高性能硬件。DirectX 包含一组 API,通过它能访问高性能硬件的高级功能,如三维图形加速芯片和声卡。这些 API 控制低级功能(其中包括二维(2D)图形加速)、支持输入设备(如游戏杆、键盘和鼠标)并控制着混音及声音输出。构成 DirectX 的下列组件支持低级功能:Microsoft DirectDraw Microsoft DirectDraw API 支持快速访问计算机视频适配器的加速硬件功能。它支持在所有视频适配器上显示图形的标准方法,并且使用加速驱动程序时可以更快更直接地访问。DirectDraw 为程序(如游戏和二维图形程序包)以及 Windows 系统组件(如数字视频编解码器)提供了一种独立于设备之外的方法来访问特定显示设备的功能,而不要求用户提供设备功能的其它信息。

Microsoft Direct3D Microsoft Direct3D API (Direct3D) :为大多数新视频适配器内置的 3-D 调色功能提供界面。Direct3D 是一种低级的 3-D API,它为软件程序提供一种独立于设备之外的方法以便与加速器硬件进行有效而强大的通信。Direct3D 包含专用 CPU 指令集支持,从而可为新型计算机提供进一步加速支持。

Microsoft DirectSound Microsoft DirectSound API :为程序和音频适配器的混音、声音播放和声音捕获功能之间提供了链接。DirectSound 为多媒体软件程序提供低延迟混合、硬件加速以及直接访问声音设备等功能。维护与现有设备驱动程序的兼容性时提供该功能。

Microsoft DirectMusic Microsoft DirectMusic API :是 DirectX 的交互式音频组件。与捕获和播放数字声音样本的 DirectSound API 不同,DirectMusic 处理数字音频以及基于消息的音乐数据,这些数据是通过声卡或其内置的软件合成器转换成数字音频的。DirectMusic API 支持以“乐器数字界面(MIDI)”格式进行输入,也支持压缩与未压缩的数字音频格式。DirectMusic 为软件开发人员提供了创建令人陶醉的动态音轨的能力,以响应软件环境中的各种更改,而不只是用户直接输入更改。

Microsoft DirectInput Microsoft DirectInput API :为游戏提供高级输入功能并能处理游戏杆以及包括鼠标、键盘和强力反馈游戏控制器在内的其它相关设备的输入。

Microsoft DirectPlay Microsoft DirectPlay API:支持通过调制解调器、Internet 或局域网连接游戏。DirectPlay 简化了对通信服务的访问,并提供了一种能够使游戏彼此通信的方法而不受协议或联机服务的限制。DirectPlay 提供了多种游戏服务,可简化多媒体播放器游戏的初始化,同时还支持可靠的通信协议以确保重要游戏数据在网络上不会丢失。DirectPlay 8.0 的新功能即支持通过网络进行语音通信,从而可大大提高基于多媒体播放器小组的游戏的娱乐性,同时该组件还通过提供与玩游戏的其他人对话的功能而使团体游戏更具魅力。

Microsoft DirectShow Microsoft DirectShow API:提供了可在您的计算机与 Internet 服务器上进行高品质捕获与回放多媒体文件的功能。DirectShow 支持各种音频与视频格式,包括“高级流式格式(ASF)”、“音频-视频交错 (AVI)”、“数字视频(DV)”、“动画专家组 (MPEG)”、“MPEG 音频层 3 (MP3)”、“Windows 媒体音频/视频(WMA/WMV)”以及 WAV 文件。DirectShow 还具有视频捕获、DVD 回放、视频编辑与混合、硬件加速视频解码以及调谐广播模拟与数字电视信号等功能。

掌握

如何来学习它呢?

Direct 身为一种运算规则,其自身的运行环境必然是有严格规定的,也就是说 Direct 是独为 Windows 服务的一种规则。那它的表达环境就是在英文中。而非中。所以要想理解 Direct 并且灵活运用,而并非仅仅理解这句话的构成,而是要彻底剖析英文的语言规律,也就是 Windows 的运行原理,Windows 自身输入输出的方式。在这个基础上要理解 Direct 这个规则自然是水到渠成。

那是不是说就不用去研究 Direct 了?

并非如此,但是在了解根本原理的基础上去观察 Direct 代码上的结构会很轻松。这里要说的就是 Direct 自身很强大但学习起来并非很难,难在于原理的研究,不仅要看智商,更主要还要有耐心,几千页的原理并不是一年半载能看完的。研究完这些,至于语法上的规则那就不值一提了。

Direct 最好从基础原理开始研究,然而原理却如此之复杂,难道 Direct 没法去学了?

这句话也不对。当有一个新事物来到你面前时,你要从两个方面开始研究,一个是表面现象,也就是 Direct 的语言的规则与使用习惯、方法等。另一方面就是从已知条件中去推导出这个现象。意思是要从原理和代码两方面入手,从代码入手时记住了代码的习惯。紧接着了解这一点原理帮助自己去记忆,也能很快理解是怎么回事。也就是说我们虽然不赞同背代码,但也不能一点不记,我们虽然很赞同从原理入手,但从实际考虑,还是希望各位能量力而行。

整体来讲学 Direct 还是要有一定编程基础的,不建议一上来就学 Direct,Direct 毕竟是一个比较高深的东西。还是建议您对 C++、Dos 等一些语言比较精通的时候再回头研究 Direct。

当然也不是不可能,例如 3Ds Max 就是基于 Direct 的。做个模型、图像、动画还是可以的。当然也要看你从什么角度去学习了。

发展历史

DirectX 1.0

第一代的 DirectX 很不成功,推出时众多的硬件均不支持,当时基本都采用专业图形 API-OpenGL,缺乏硬件的支持成了其流行的最大障碍。

DirectX 1.0 版本是第一个可以直接对硬件信息进行读取的程序。它提供了更为直接的读取图形硬件的性能(比如:显示卡上的块移动功能)以及基本的声音和输入设备功能(函数),使开发的游戏能实现对二维(2D)图像进行加速。第一代 DirectX 不包括所有的 3D 功能,还处于一个初级阶段。

DirectX 2.0

DirectX 2.0 在二维图形方面做了些改进,增加了一些动态效果,采用了 Direct 3D 的技术。这样 DirectX 2.0 与 DirectX 1.0 有了相当大的不同。在 DirectX 2.0 中,采用了“平滑模拟和 RGB 模拟”两种模拟方式对三维(3D)图像进行加速计算的。DirectX 2.0 同时也采用了更加友好的用户设置程序并更正了应用程序接口的许多问题。从 DirectX 2.0 开始,整个 DirectX 的设计架构雏形就已基本完成。

DirectX 3.0

DirectX 3.0 的推出是在 1997 年最后一个版本的 Windows95 发布后不久,此时 3D 游戏开始深入人心,DirectX 也逐渐得到软硬件厂商的认可。97 年时应用程序接口标准共有三个,分别是专业的 OpenGL 接口,微软的 DirectX D 接口和 3DFX 公司的 Glide 接口。而那时的 3DFX 公司是最为强大的显卡制造商,它的 Glide 接口自然也受到最广泛的应用,但随着 3DFX 公司的没落,Voodoo 显卡的衰败,Glide 接口才逐渐消失了。

DirectX 3.0 是 DirectX 2.0 的简单升级版,它对 DirectX 2.0 的改动并不多。包括对 DirectSound(针对 3D 声音功能)和 DirectPlay(针对游戏/网络)的一些修改和升级。DirectX 3.0 集成了较简单的 3D 效果,还不是很成熟。

DirectX 5.0

微软公司并没有推出 DirectX 4.0,而是直接推出了 DirectX 5.0。此版本对 Direct3D 做出了很大的改动,加入了雾化效果、Alpha 混合等 3D 特效,使 3D 游戏中的空间感和真实感得以增强,还加入了 S3 的纹理压缩技术。

同时,DirectX 5.0 在其它各组件方面也有加强,在声卡、游戏控制器方面均做了改进,支持了更多的设备。因此,DirectX 发展到 DirectX 5.0 才真正走向了成熟。此时的 DirectX 性能完全不逊色于其它 3D API,而且大有后来居上之势。

DirectX 6.0

DirectX 6.0 推出时,其最大的竞争对手之一 Glide,已逐步走向了没落,而 DirectX 则得到了大多数厂商的认可。DirectX 6.0 中加入了双线性过滤、三线性过滤等优化 3D 图像质量的技术,游戏中的 3D 技术逐渐走入成熟阶段。

DirectX 7.0

DirectX 7.0 最大的特色就是支持 T&L,中文名称是“坐标转换和光源”。3D 游戏中的任何一个物体都有一个坐标,当此物体运动时,它的坐标发生变化,这指的就是坐标转换;3D 游戏中除了场景+物体还需要灯光,没有灯光就没有 3D 物体的表现,无论是实时 3D 游戏还是 3D 影像渲染,加上灯光的 3D 渲染是最消耗资源的。虽然 OpenGL 中已有相关技术,但此前从未在民用级硬件中出现。

在 T&L 问世之前,位置转换和灯光都需要 CPU 来计算,CPU 速度越快,游戏表现越流畅。使用了 T&L 功能后,这两种效果的计算用显示卡的 GPU 来计算,这样就可以把 CPU 从繁忙的劳动中解脱出来。换句话说,拥有 T&L 显示卡,使用 DirectX 7.0,即使没有高速的 CPU,同样能流畅的跑 3D 游戏。

DirectX 8.0

DirectX 8.0 的推出引发了一场显卡革命,它首次引入了“像素渲染”概念,同时具备像素渲染引擎(Pixel Shader)与顶点渲染引擎(Vertex Shader),反映在特效上就是动态光影效果。同硬件 T&L 仅仅实现的固定光影转换相比,VS 和 PS 单元的灵活性更大,它使 GPU 真正成为了可编程的处理器。这意味着程序员可通过它们实现 3D 场景构建的难度大大降低。通过 VS 和 PS 的渲染,可以很容易的营造出真实的水面动态波纹光影效果。此时 DirectX 的权威地位终于建成。

DirectX 9.0

2002 年底,微软发布 DirectX9.0。DirectX 9 中 PS 单元的渲染精度已达到浮点精度,传统的硬件 T&L 单元也被取消。全新的 VertexShader(顶点着色引擎)编程将比以前复杂得多,新的 VertexShader 标准增加了流程控制,更多的常量,每个程序的着色指令增加到了 1024 条。

PS 2.0 具备完全可编程的架构,能对纹理效果即时演算、动态纹理贴图,还不占用显存,理论上对材质贴图的分辨率的精度提高无限多;另外 PS1.4 只能支持 28 个硬件指令,同时操作 6 个材质,而 PS2.0 却可以支持 160 个硬件指令,同时操作 16 个材质数量,新的高精度浮点数据规格可以使用多重纹理贴图,可操作的指令数可以任意长,电影级别的显示效果轻而易举的实现。

VS 2.0 通过增加 Vertex 程序的灵活性,显著的提高了老版本(DirectX8)的 VS 性能,新的控制指令,可以用通用的程序代替以前专用的单独着色程序,效率提高许多倍;增加循环操作指令,减少工作时间,提高处理效率;扩展着色指令个数,从 128 个提升到 256 个。

增加对浮点数据的处理功能,以前只能对整数进行处理,这样提高渲染精度,使最终处理的色彩格式达到电影级别。突破了以前限制 PC 图形图象质量在数学上的精度障碍,它的每条渲染流水线都升级为 128 位浮点颜色,让游戏程序设计师们更容易更轻松的创造出更漂亮的效果,让程序员编程更容易。

DirectX 9.0c

与过去的 DirectX 9.0b 和 Shader Model 2.0 相比较,DirectX 9.0c 最大的改进,便是引入了对 Shader Model 3.0(包括 Pixel Shader 3.0 和 Vertex Shader 3.0 两个着色语言规范)的全面支持。举例来说,DirectX 9.0b 的 Shader Model 2.0 所支持的 Vertex Shader 最大指令数仅为 256 个,Pixel Shader 最大指令数更是只有 96 个。而在最新的 Shader Model 3.0 中,Vertex Shader 和 Pixel Shader 的最大指令数都大幅上升至 65535 个,全新的动态程序流控制、位移贴图、多渲染目标(MRT)、次表面散射 Subsurface scattering、柔和阴影 Soft shadows、环境和地面阴影 Environmental and ground shadows、全局照明(Global illumination)等新技术特性,使得 GeForce 6、GeForce 7 系列以及 Radeon X1000 系列立刻为新一代游戏以及具备无比真实感、幻想般的复杂的数字世界和逼真的角色在影视品质的环境中活动提供强大动力。

因此 DirectX 9.0c 和 Shader Model 3.0 标准的推出,可以说是 DirectX 发展历程中的重要转折点。在 DirectX 9.0c 中,Shader Model 3.0 除了取消指令数限制和加入位移贴图等新特性之外,更多的特性都是在解决游戏的执行效率和品质上下功夫,Shader Model 3.0 诞生之后,人们对待游戏的态度也开始从过去单纯地追求速度,转变到游戏画质和运行速度两者兼顾。因此 Shader Model 3.0 对游戏产业的影响可谓深远。

DirectX 10.0

包含在 Windows Vista 操作系统中,无法单独下载使用。

新的 DirectX 使你获得更好的图像显示质量,使多人游戏具可伸缩性,以及包括更棒的音频效果。它强化了针对 DirectDraw 和 Direct3D 的接口,简化了应用扩展,提升性能;改善了图形创作工具,更易于做出最佳的 3-D 角色和环境;点光源式光影和像素式光影使图象更逼真;强化了 DirectSound 和 DirectMusic,简化了其应用扩展;DLS2 音频合成功能提高了乐器音频的真实感;DirectInput 的设备影射功能令对设备的支持更简单;DirectPlay 使多人游戏的性能和可扩展性得到了提高; DirectPlay 提供了 IP 声音通讯;DirectShow 的应用编程接口提供了音频/视频的实时合成和即时编辑;DirectShow 支持 Windows 媒体音频和视频(WMA 和 WMV)的读写; Microsoft TV 技术可以支持数字电视节目。当然,最重要的是一些新游戏需要它。DirectX Redist 通常每两个月更新一次,包含了 DirectX Runtimes 的所有更新,可以替代此前发布的旧版本,适合 Windows XP、Server 2003、Vista 等操作系统,不支持 Windows 9x/2000。一般最新的 3D 游戏等应用程序都需要新的 DirectX 接口,因此强烈推荐更新。

Vista DX10 用户也同样需要。

显卡所支持的 DirectX 版本已成为评价显卡性能的标准,从显卡支持什么版本的 DirectX,用户就可以分辨出显卡的性能高低,从而选择出适合于自己的显卡产品。

DirectX 10.1

正如以前的 DX 版本一样,DX10.1 也是 DX10 的超集,因此它将支持 DirectX 10 的所有功能,同时它将支持更多的功能,提供更高的性能。

DX10.1 的一个主要提高是改善的 shader 资源存取功能,在多样本 AA 时,在读取样本时有更好的控制能力。除此之外,DX10.1 还将可以创建定制的下行采样滤波器。

DX10.1 还将有更新的浮点混合功能,对于渲染目标更有针对性,对于渲染目标混合将有新的格式,渲染目标可以实现独立的各自混合。阴影功能一直是游戏的重要特效,Direct3D 10.1 的阴影滤波功能也将有所提高,从而可望进一步提高画质。

在性能方面,DirectX 10.1 将支持多核系统有更高的性能。而在渲染,反射和散射时,Direct3D 10.1 将减少对 API 的调用次数,从而将获得不错的性能提升。

其他方面,DX10.1 的提高也不少,包括 32bit 浮点滤波,可以提高渲染精确度,改善 HDR 渲染的画质。完全的抗锯齿应用程序控制也将是 DX10.1 的亮点,应用程序将可以控制多重采样和超级采样的使用,并选择在特定场景出现的采样模板。DX10.1 将至少需要单像素四采样。

DX10.1 还将引入更新的驱动模型,WDDM 2.1。与 DX10 的 WDDM2.0 相比,2.1 有一些显著的提高。

首先是更多的内容转换功能,WDDM2.0 支持处理一个命令或三角形后进行内容转换,而 WDDM2.1 则可以让内容转换即时进行。由于 GPU 同时要并行处理多个线程,因此内容转换的即时性不仅可以保证转换质量,还可以提升 GPU 效率,减少等待时间。另外,由于 WDDM 2.1 支持基于过程的虚拟内存分配,处理 GPU 和驱动页面错误的方式也更为成熟。

微软预计将在两周之内(2008 年 7 月中旬)宣布新一代 API:DirectX 11。消息来源指出,微软将在 7 月 22 日举办的 Gamefest 2008 上宣布新一代 API,此前我们得到有关 DirectX 11 的最新消息是 NVIDIA 将在八月末的“NVISION 08”会议上讲解 DirectX 11。

由微软举办的 Gamefest 2008 大会将于 7 月 22-23 日在西雅图召开,Gamefest 2008 大会是微软每年一度的游戏技术探讨盛会,所以有关下一代游戏技术接口 API 的消息自然也是少不了的话题。

DirectX 11 引入最大新技术特征无疑是 Tessellation/Displacement,我们还听说了多线程渲染、Compute Shaders 也将是 DirectX 11 中重要环节,另外据说 DirectX 11 还将引入 Shader Model 5.0,具体细节信息尚不明确,Ray Tracing(光线跟踪)与 Rasterization(光栅化)技术的支持也还没有提及。

DirectX 11

2009 年 1 月 9 日星期五,微软将面向公众发布 Windows 7 客户端 Beta 1 测试版。而此前一天,即 1 月 8 日,微软将率先发布 Windows 7 服务器版本的 Beta 1 测试版。

在微软发布的 Windows 7Beta 版本中,一些已经安装使用的用户的发现了 DirectX 11 已经包含其中了。DirectX 11 作为 3D 图形接口,不仅支持未来的 DX11 硬件,还向下兼容当前的 DirectX 10 和 10.1 硬件。DirectX 11 增加了新的计算 shader 技术,可以允许 GPU 从事更多的通用计算工作,而不仅仅是 3D 运算,这可以鼓励开发人员更好地将 GPU 作为并行处理器使用。

在微软发布的 Windows 7 Beta 版本中,已包含 DirectX 11

另外,DirectX 11 还支持 tessellation 镶嵌化技术,这有助于开发人员创建更为细腻流畅的模型,实现高质量实时渲染和预渲染场景。多线程是 DirectX 11 的另外一大亮点,DX11 可以更好地利用多线程资源,从而使游戏更有效地利用多核处理器。

DirectX 11.1

微软 2011 年 10 月 15 日公布了一份白皮书“Windows 开发者预览版中的 Windows 驱动模型增强”,洋洋洒洒地深入介绍了 Windows 8 在图形技术方面的改进。根据白皮书,Windows 8 将会支持新版显示驱动模型WDDM1.2,高于 Windows 7 WDDM 1.1,但同时会放弃对服务器系统中 XDDM 的支持,全部转向 WDDM。

DirectX 方面最关键的是当然引入 Direct3D 11.1,同时还会有平滑旋转、立体 3D、D3D11 Video等功能技术。微软称,即使是低端硬件,只要能够利用好 DirectX 的优势,也能够在 Windows 8 上来更好的性能。

DirectX 11.2

2013 年 6 月 28 日,微软发布 Directx11.2(Alpha 版),其中一个重要特性是允许游戏使用系统内存和显存储存纹理数据,微软的 Antoine Leblond 在 BUILD 大会上演示了主要利用内存而不是显存去储存 9GB 纹理数据。这项特性对于未来的高清游戏具有重要意义。然而一个问题是,DirectX 11.2 不支持 Windows 8 及之前操作系统,只支持 Windows 8.1 和下一代主机 Xbox One。

DirectX 12

2014 年 3 月 21 日,微软正式发布了新一代的 API DirectX 12。虽然算不上全新设计,虽然细节公布得还不是特别多,但至少不是 Mantle 的直接翻版,还是有微软与合作伙伴设计的不少新东西的。DX12 最重要的变化就是更底层 API,这一点很像 AMD Mantle,在硬件抽象层上走得比以往更深入,能够同时减轻 CPU、GPU 的过载(overload)。具体包括:应用可追踪 GPU 流水线、控制资源状态转换(比如从渲染目标到纹理)、控制资源重命名,更少的 API 和驱动跟踪,可预判属性,等等。

另外,DX12 大大提高了多线程效率,可以充分发挥多线程硬件的潜力。DX11 在这方面受 CPU 性能的严重制约,主要是因为不能有效利用多核心。微软宣称,微软对多核心 CPU 的利用几乎是完美线性增长的,也就是说四核心能接近单核心的四倍。

此外还有渲染流水线、渲染特性、资源管理、命令列表与绑定、描述符跳跃等等方面的改进,因为主要是关于开发的,也比较深晦,这里就先不说太多了。

NVIDIA 确认说,开普勒、费米、麦克斯韦架构全部都支持 DX12,也就是 GeForce 200 系列以来的型号都可以,DX11 的都行。

AMD 则确认,GCN 架构的所有显卡均支持 DX12,也就是 Radeon HD 7000、Radeon R200 系列。

Intel 确认称,第四代 Haswell 可以支持 DX12,但其实仅限最高端的两个型号:GT3 Iris 5100、GT3e Iris Pro 5200。

打开方法

有时候重装系统后发现很多 3D 游戏都不能运行,只有一些传统 2D 平面游戏还能勉强运行,而且速度很慢。这并不是因为 Windows 2003 不支持 3D 游戏,而是系统设置的问题。

解决方法:首先请确保以正确的方式安装好显卡驱动,然后就要打开 DirectX 加速。DirectX 加速是 3D 游戏最基本的需要,为了使 Windows 更为单一地面向服务器平台应用,微软默认将其加速功能关闭。即便是在安装了最新的 DirectX 10.0 之后也不会自动打开加速功能,而必须手动设置。在“开始”→“运行”对话框中输入“dxdiag”以打开 DirectX 诊断工具。随后在显示一栏中将 DirectDraw、Direct3D、AGP 纹理加速功能启用。如此一来,Windows Server 2003 便能运行各种 3D 游戏。除此以外,Windows Server 2003 还默认关闭了硬件加速,可以在显示属性的高级菜单中将其设置为完全加速。

DirectX 11.1

DirectX 11 之后是下一代的 DirectX 12 还是改进版的 DirectX 11.1 呢?英特尔的一份产品路线路泄露了天机,紧随 DirectX 11 就是 DirectX 11.1。

据国外媒体 SoftPedia 曝光的英特尔产品路线图显示,Sandy Bridge 整合的是英特尔第 6 代图形核心,支持 DirectX 10.1 和 OpenGL 3.0;到了 Ivy Bridge 则进化至第 7 代,可支持 DirectX 11 和 OpenGL 3.1;到了 2013 年,同为 22nm 但架构再度进化的 Haswell 处理器诞生,其将整合增强版的第 7 代英特尔图形核心,可支持 OpenGL 3.2 和 DirectX 11.1,而推荐使用的操作系统则是 64 位的 Windows 8。

Haswell 将会采用 Tri-Gate 22nm 制造工艺技术,并且采用可调节的 TDP 技术,以在性能和节能方面,获得更好平衡。同时 Haswell 还将会采用新的 AVX2 指令集,尚不知道具体发布时间,不过从已了解蓝图来看,服务器 Haswell 产品将会在 2014 年 Q1 发布。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..