品书网

杂志

保存到桌面 | 繁体 | 手机版
传记回忆文学理论侦探推理惊悚悬疑诗歌戏曲杂文随笔小故事书评杂志
品书网 > 杂志 > 走进DirectX 12的精彩世界

走进DirectX 12的精彩世界

时间:2024-10-31 11:17:01

微软大型免费“公测”系统Windows10的装机量目前已经达到3亿台,市场份额则达到14.5%,成为全球使用人数第二多的操作系统,距离10亿台的目标指日可待。毫无疑问,已经有越来越多的游戏玩家转向Windows10系统,其中缘由不言而喻,毕竟微软新一代图形API——DirectX12(以下简称DX12)是Windows10专属的,那么想玩新游戏,体验最精彩的3D特效,非Windows10莫属。

编/蓝色

据不完全统计,微软大型免费“公测”系统Windows10的装机量目前已经达到3亿台,市场份额则达到14.5%,成为全球使用人数第二多的操作系统,距离10亿台的目标指日可待。毫无疑问,已经有越来越多的游戏玩家转向Windows10系统,其中缘由不言而喻,毕竟微软新一代图形API——DirectX12(以下简称DX12)是Windows10专属的,那么想玩新游戏,体验最精彩的3D特效,非Windows10莫属。

Windows10巨大的装机量也推动了DX12游戏的蓬勃发展,今年以来已经有越来越多的游戏支持DX12,或者是在游戏正去年最惊艳的DX12Demo《Witch》中人物角色式发售后通过补丁升级了对DX12的支持,想要找一款DX12的游戏仔细体验一番已不再是件难事。不过,对于DX12带来的诸多变化以及AMD、NVIDIA和Intel对DX12的支持情况,很多读者还是一头雾水,那么,DX12里到底都有什么新东西?支持DX12的游戏又有哪些呢?

有关DX12带来的技术革新,我们在去年已经做过一次全面解析,着重介绍了DirectX12到底带来了什么,在本文中,虽然我们还聚焦于DX12,但与上次的侧重点有所不同,DX12的一些技术介绍、功能等级之前已经说过了,这次我们的着眼点则是AMD、NVIDIA和Intel最新显卡对DX12的支持情况以及它们之间的主要区别,另外,我们还会提及一些已上市或者即将上市的可支持DX12的游戏。

DX12到底带来了什么新功能?

尽管本文不会再长篇赘述DX12的新特性,但我们还是有必要重温一个话题:DX12带来了什么新功能?去年我们说过,这次还会再说一次,因为即便Windows10装机量超过3亿了,这个问题对不少用户来说仍是个困惑——自己使用的显卡到底支持什么DX12功能。

从最初曝光的类似AMDMantle那样的底层优化,再到支持AMD、NVIDIA显卡混合工作,微软的DX12确实带来了不少新技术和新功能,而就API层面来说,DX12的新功能可分为三个层级:

首先是底层的优化,DX12降低了系统开销(LowOverhead),给予开发者更多的控制(MoreControl),并支持异步运算(AsynchronousCompute)。其中,对用户来说,低开销这一项是最重要的,我们此前见过的DX12优势特性展示大多基于这一点,它跟AMD的Mantel优化很相似,可以提高游戏性能,有效利用多核处理器。另外,异步运算也值得一提,AMD与NVIDIA在这一点上有分歧,产生过不少争议,后面我们还会重点谈到。

DX12带来的渲染功能主要是平铺资源(TiledResoure)、归类UAV访问、无绑定(Bindless),这属于DX12FeatureLevel12_0级的要求。一般来说,支持DX12FeatureLevel12_0已经算是完整支持DX12了,不过类似此前的DX10.1、DX11.1一样,DX12还有个更高级的FeatureLevel12_1,其中有保守光栅(ConservativeRasterization)、光栅顺序视图(RasterOrderViews)等新功能。

参考前面那张NVIDIA的PPT,需要留意的是,NVIDIA在这里“耍”了一点小花招——从图中的结构划分来看,我们很容易误认为立体平铺资源(VolumeTiledResources,简称VTR)也是FeatureLevel12_1的要求,但实际上它并不是,VTR是DX11.3里的功能了,在DX12中并不是必备要求。

实际上,微软对DXAPI的支持定义了多个级别,上述很多技术其实并不是DX12中才出现的,此前的DX11及DX11.1中就被列为可选功能了,在DX12中只是把平铺资源、无绑定等特性变成了必备或者提升了功能级别。

具体到每个技术上,它实际上也是分为多个等级,可分为Tier1(简称T1,玩魔兽的玩家对这种称呼应该不会陌生)到T2再到T3,不过,本文并不会详细介绍T1到T3的区别,也不会详细介绍上述技术在图形渲染中具体的作用,因为这些东西说清楚不容易,而且内容太枯燥,非专业人士不会对此感兴趣的。

我们只要知道的是,微软在DXFL12_0、DXFL12_1上的定义比较宽松,反倒是NVIDIA、AMD这两家厂商私下里争得异常激烈,就和之前的DX10.1及DX11.1/11.2完整支持一样,只不过这一次是NVIDIA占“上风”,他们的显卡可以支持到DXFL12_1,而AMD的GCN架构只支持到DXFL12_0,对可选的保守光栅、光栅顺序视图等技术并不热心。

微软DX12_1、DX12_0与DX11_1、DX11_0的区别
   

热门书籍

热门文章