欢迎光临
我们一直在努力

direct12

前几天我们三易生活在给大家分析Xbox Series X的技术细节时曾提出。这是一款充分利用了现有技术的主机。几乎可以说是把至今为止PC上的图形成果与最新设计思路结合到了极限。而且由于Xbox Series X本身是基于x86硬件架构。以及Windows操作系统。因此当中的不少新图形API和新的硬件调度技术。其实都有望出现在未来的桌面级Windows 10中。

不过即便是我们也确实没想到。微软的动作会这么快。仅仅就在Xbox Series X公布细节数天之后。微软就突然公布了全新的“DirectX 12 Ultimate”标准。并宣布其将为统一Xbox与PC体验的最新、最高级别的游戏图形标准。这意味着。诸如DXR 1.1新版光线追踪、VRS可变着色率、Mesh Shader多线程渲染管线。以及SFS采样反馈流等等。刚刚在Xbox Series X中登场的图形技术很快就将随着Windows 10 2004版的更新。降临到那些已经配备了RTX显卡的PC中来。并进一步成为大量次时代3A大作的技术标准。

很显然。微软为了提升自家平台的游戏体验。这次算是发了个“大招”。而DirectX 12 Ultimate这霸气的名字以及它所包含的一系列新功能。也确实令人对新版本的Windows 10有了更多期待。

但是。这样一来问题就出现了。众所周知。微软在Windows Vista时代引入了DirectX 10。在Windows 7上带来了DirectX 11。在Windows 8上发布了DirectX 12。那么为什么Windows 10发布的时候。我们却并没有等来DirectX 13。反倒是直到这多年之后。才终于有了一个“DirectX 12 Ultimate”呢?

要知道。DirectX曾经是显卡换代的原动力

要理解这一点。首先我们要先弄懂一件事。就是显卡的硬件功能和它对应的DirectX软件规范。究竟是“先有鸡还是先有蛋”。

PC上的第一款GPU。同时也是第一块支持DirectX 7.0的民用显卡

追溯历史不难发现。在DirectX 12之前。历代显卡的硬件换代基本上都是受软件与游戏技术换代所驱动。比如PC史上最早的“GPU”GeForce 256。就是在微软先公布了DirectX 7.0规范。引入硬件T&L功能需求之后。NVIDIA第一个做出了适配的显卡。从此便一战成名。

又比如说在DirectX 10的时代。NVIDIA先推出了符合新图形规范的GeForce 8800Ultra。而ATI那边的Radeon HD2900XT“迟到”了很长时间。因此便在市场中陷于被动。

这块卡谁能准确说出名字和出处来?

从这些历史资料中我们都不难看出。在很长一段时间里。PC显卡市场都是微软先发布新版DirectX。相当于先提出了一个“技术规范”或者说性能需求。然后才有各大厂商针对性研发的硬件产品。

从DX9时代开始。微软的节奏就慢了下来

但是随着显卡市场在竞争中淘汰了越来越多的参与者。随着NVIDIA和AMD两家的寡头局面形成。微软作为操作系统的开发者。作为DirectX图形规范的制定者。也不免需要越来越多地“照顾”到两位硬件巨头的需求。或者说开始在DirectX规范里融入来自N、A两家的独家技术。

2003年。NVIDIA推出了GeForce FX系列显卡。它最大的特征有两点。一是“吃螃蟹”首发了GDDR2显存。二是在图形渲染上提供高速但低精度的16bit与低速但高精度的32bit两种工作模式。然而彼时的ATI却看出了GeForce FX设计的缺点。他们舍弃了高温高成本的GDDR2显存。继续使用GDDR一代显存控制器。并在图形渲染上创造性的使用了折中的24bit精度。

很显然。最终ATI的设计帮助他们取得了极大成功。也直接促使NVIDIA在后来的GeForce 6000系列上搞出了“大杀器”SLI技术。但是很少有人关注到这样一个重点。由于NVIDIA和ATI两家在DirectX 9时代的最初两款产品在设计上实在是差异太大。最后逼得微软不得不实际上为两家显卡分别推出了一个DirectX版本——NVIDIA GeForce FX系列用DirectX 9.0a。而ATI Radeon 9800系列用DirectX 9.0b。这是显卡厂商第一次直接以他们自己的技术在PC平台上影响到了DirectX规范的发展。而它实际上也就此改变了微软与显卡芯片企业的关系。

ATI Radeon HD4890。此卡的第一批货在中国是一张难求

正因为如此。到了DirectX 10的时代。统一渲染管线的设计很明显更“合”NV的意。因此GeForce 8800系列得以早早登场。迅速抢占了市场。而DirectX 10.1则更多融入了ATI(AMD)的需求。因此Radeon HD3650、HD3870。以及后来的HD4000系列强势反攻。而NVIDIA那边却对这一代规范几乎视若无睹。

DX11时代最流行的就是测曲面细分性能。然而这也有显卡厂商的利益因素在里面

很显然到了这个地步。DirectX与其说是微软所提出的图形技术规范。不如说其实已经是微软、NVIDIA、AMD三家的博弈结果了。也正是因此。在此后的DirectX 11和DirectX 12中。我们就看到了更多更符合显卡厂商利益的技术设定。比如说对显卡性能消耗极大。能够充分拉开高中低端显卡游戏体验差距的Tessellation(镶嵌。也称细分曲面)技术。实际上就来自于ATI在DX10时代的一项自研项目。又比如说现在大红大紫的光线追踪技术。其实好几年前就已经出现在一些专业级的制图显卡中。但游戏领域最早则是由NVIDIA用他们自己的RT Core和Tensor Core硬件。以私有API的方式实现。此后才被纳入了DirectX 12的DXR功能子集中。成为微软官方规范的一部分。

加量不改名。如今的DirectX对玩家更友好

那么。这意味着什么呢?首先。由于DirectX不再是直接刺激显卡厂商更新换代的标准。这意味着一方面来说DirectX大版本换代的必要性本身就不似当年那般迫切了。而且还能一定程度上让消费者“感到实惠”——比如说NVIDIA家的Maxwell、Fermi架构、AMD家的GCN 1.0~4.0。都可以通过软件更新支持到DX12。这就一定程度上增强了各家的消费者粘性。对于两家显卡厂商来说都是喜闻乐见的局面。

而另一方面来说。由于DirectX标准的更新速度相对放慢。那么对于游戏开发者来说。也就不用再把很多精力花费在转换到新技术和新标准上去。而是可以开发出能适应更多代硬件的作品。同时通过高配置的高分辨率、高特效水平、物理运算的有无、同屏敌人(AI)数量等方式。来区分不同硬件配置的游戏感受。实际上也比单纯的“从DX8升级到DX9”更为可感。

你所不知道的DirectX版本们

与此同时必须要说明的一点就是。其实微软在Windows 8到Windows 10的这几年里。也绝非守着已有的Direct X标准而没做任何改动。事实上。在知名显卡信息软件GPU-Z的“Advanced”页面。我们可以查看到当前显卡所支持的DirectX标准的详细信息的。而就在这里。赫然列出了很多人都不知道的一些DX近年来的更新版本号。

微软开发者网站上可以看到DX11~DX11.4的功能改变

比如说在推出Windows 8.1时。微软实际上将DirectX 11升级到了11.1版本。增加了诸如FMA(乘加计算)、半精度运算以及一大票强化渲染效率的新功能。而到了WIndows 10里。DirectX 11又先后得到了11.3、11.4以及11.5三次更新。为只支持DX11的“老显卡”引入了部分源自Direct 12的功能。以提升它们的运行效率。

源自Github上的微软官方wiki页面

又比如说。Windows 10至今为止已经至少推出过十一个更新版本(从最早的正式版TH1到最新的20H2测试版)。在这个过程中。DirectX 12虽未有过“版本号”层面上的变动。但微软实际上先后五次对DX12的Shader Mode渲染引擎进行过更新。频繁程度和更新幅度甚至超过DirectX 11时代。诸如DXR光线追踪等功能。其实就是在这个过程中才被加入到DX12规范里的。

DXR1.1版光线追踪。它是本次DirectX12 Ultimate的重要部分之一

这也就是说。实际上微软在近几年里其实是一直在对DirectX 12进行着持续的“小修小补”的。之所以没有大张旗鼓地推出“DX13”。除了本身技术上变革并不算特别彻底之外。自然也是考虑到了对老卡的兼容性以及DirectX当前的功能定位所致。事实上。啾脸最新的DirectX 12 ULtimate。也是可以完全兼容NVIDIA家的RTX显卡的——只需要更新一下系统和驱动。光追用户们就能体验到免费的性能提升了。不得不说微软确实是干了一件大好事。

毕竟那个由DirectX版本驱动显卡换代的时代已经结束。而如今的微软似乎也更在乎服务好现有的玩家。而不是让大家都去买新硬件了。

赞(0)
未经允许不得转载:bek58 » direct12
分享到: 更多 (0)