如果对于大部分玩家们来说Windows 10系统有什么盼头,那就莫过于DirectX 12了。根据微软的宣传,DirectX 12能够显著提升游戏体验,这正是玩家们最为需要的。但是大家总这么说,到底DirectX 12能带来些什么?
前言
我们首先得从为什么需要DirectX说起。
如果是在主机上开发游戏,开发者只需要一套硬件对应一个品牌(Xbox、PlayStation、任天堂),也就是说他们只需要考虑一款处理器和一款显示芯片,内存需求、输入选项和其他硬件标准都是预先决定好的。
但到了PC游戏开发上,问题就开始复杂了。游戏开发者需要面对无数种硬件配置,要让游戏在茫茫多的显卡、主板和各种硬件平台上完美运行可以说困难重重。这就是为什么在上一个十年里,开发者们会纷纷涌向主机平台。
主机有着性价比高、盗版率低的特点,而且开发者在编程时还能够直接访问硬件——后者是关键,因为这让开发者能够榨取硬件的每一寸性能,并且可以最大程度利用主机内置的部件特性。而这,就是DirectX对于PC游戏来说如此重要的原因。
DirectX是什么?
简单来说,DirectX是一种由微软开发,用以和PC硬件“交流沟通”的软件。再说具体一些,它是一套应用程序接口——也就是API——的集合。DirectX的工作和2D及3D的矢量图形渲染有关,负责Windows平台的视频渲染和音频播放。
目前与DirectX形成竞争的是OpenGL,这是于1992年推出的另一个图形API套件。OpenGL采用开源原则,并且得到Khronos Group团队的持续开发。因为OpenGL是跨平台API,它并不像DirectX那样能得到Windows的原生支持。
DirectX 最初出现在Windows 95时代。那个时候,大多数 PC 玩家还守在老旧的DOS平台上。DOS给予开发者直接访问PC硬件的权限,这是很大的诱惑。Windows 95并不提供这样的能力,直到DirectX横空出世。
其实最开始DirectX并没有得到关注,因为开发者们更依赖 OpenGL,而且他们认为DOS环境更有效率。不过随着时间的推移,DirectX逐渐强大起来。当开发者意识到这一点后,它的地位变得不可动摇。
要说DirectX真正开始战胜OpenGL,那还是在2002年,也就是著名的DirectX 9出现的时候。Windows XP的成功大大加速了DirectX的增长,时至今日这个平台已经高度稳定并且仍在全球范围内被使用。Windows 10逐渐将成为主流,它即将带来最新的DirectX 12。
DirectX 12将带来什么?
在这个最新的版本发布之前,DirectX 最大的缺陷在于它始终不像主机那样,提供对硬件的底层访问。为了解决这个问题,AMD自立山门推出了Mantle API套件,让开发者可以在AMD的产品上优化软件。
从本质上说,图形芯片已经变得和主处理器一样强大了,足以承担图形渲染之外的运算任务。AMD的Mantle让开发者能够充分利用那些支持它的Radeon显卡的性能。从人们的反馈来看,Mantle口碑很好,表现得也十分出色。然而就在微软推出了新版本DirectX解决底层的问题后,Mantle的短命也就成了注定。
来自NVIDIA的Henry Moreton是这么概括DirectX 12的:“DX12重在极大提升视觉效果的丰富程度,但却能显著减少CPU与API有关的负担。过去,驱动程序和系统软件会为开发者管理内存、状态和同步。然而,对应用程序需求的理解不完全导致了效率偏低。DX12让应用程序能够直接管理资源和状态,并执行必要的同步。结果是,高级应用程序的开发者将能够有效率地控制GPU,充分利用上自己对游戏开发知识的精通。”
通过将更多工作分配给图形芯片,主处理器的负担就会少很多,游戏也就不会被系统后台中的各种任务所拖慢。越多的核心性能越好,意味着双核处理器会和四核处理器有明显的差距。
这一点对图形芯片来说也是一样的,双显卡当然性能要更强,我们通过NVIDIA的SLI和AMD的交火理解了这一点。配合DirectX 12,游戏或还将有更好的表现,因为负载现在可以被同时分配到不同的核心上了,而非像以前那样一次只能有一个核心负责。
这个改变非常重要,因为DirectX 11并没能完全利用上多核心的优势,一次只有一个核心在工作,其他的全都在待机。DirectX 12发布后,单CPU核心和单GPU核心的时代终于完全落幕。
你可以做如下想象:计算机从原本的单车道时代进入了超宽八车道时代,让CPU能够将渲染和指令计算的工作交给GPU。对于玩家来说,这意味着更流畅的帧率和更好的画质。
如何享受DirectX 12?
DirectX 12还有一个亮点是它是Windows 10的原生API,而Windows 10现在已经被应用在了各个不同种类的设备上——台式机、笔记本电脑、平板电脑、手机,甚至Xbox One。DirectX 12还在一定程度上向下兼容,让PC玩家不需要购买新的显卡也能游玩喜欢的作品。
根据微软的说法,DirectX 12比起DirectX 11来,在CPU利用效率上能有50%的提升,而且在程序化指令或线程的多序列工作上也有更好的任务分配。
好消息是现在有为数不少的PC游戏已经做好准备迎接DirectX 12了,比如《奇点灰烬》、《上古卷轴 OL》、《古墓丽影:崛起》、《战争机器:终极版》和《杀手》。除此之外,《杀出重围:人类分裂》、《星际公民》、《极限竞速 6:巅峰》等即将推出的作品也会支持新的API。
总的来说,如果游戏支持DirectX 12,那么它就有望能够为玩家带来更好的性能表现。这样一来,开发者就需要为那些已经推出的作品进行更新,以便让它们支持DirectX 12,但他们会不会积极响应呢?
无论是 NVIDIA还是AMD都已经开始了它们对DirectX 12的支持,所以未来毫无疑问将会是新API的时代。如果你还没有更新Windows 10,DirectX 12会是一个很好的推动力。DirectX 12带来的变化那么大,而且微软又急于推广Windows 10,因此它肯定是不会支持旧系统了的。