NVIDIA确认:开普勒架构不完全支持DX11.1
扫描二维码
随时随地手机看文章
AMD Radeon HD 7000系列在发布之初就旗帜鲜明地宣称全球首个支持DirectX 11.1,而随后的NVIDIA GeForce GTX 600系列却在这方面含糊其辞,首发的时候完全就没有明确提及,直到现在官方网站产品规格表中也没有DirectX这个项目。根本原因是,开普勒架构并不完全支持DX11.1,但又并非不支持那么简单。
首先是德国网站heise.de,报道称开普勒缺乏对DX11.1的完整硬件支持,但语焉不详,并未解释详细情况。
BSN随后联系了NVIDIA欧洲、中东和非洲地区技术营销主管Lars Weinand,得到了深入的解释——
GTX 680支持DirectX 11.1,(只是)硬件特性级别为11_0,包含有所有的可选特性,其中有大量对游戏开发人员非常有用的功能,比如:
- Partial constant buffer updates (部分常量换成更新)
- Logic operations in the Output Merger (输出合并的逻辑操作)
- 16bpp rendering (16bpp色深渲染)
- UAV-only rendering (仅UVA渲染)
- Partial clears (部分清理)
- Large constant buffers (大型常量缓冲)
(但是)我们没有在开普勒硬件里开启四个与游戏无关的特性,它们都属于特性级别11_1:
- Target-Independent Rasterization (2D渲染中的目标独立光栅化)
- 16xMSAA Rasterization (2D渲染中的16xMSAA多重采样抗锯齿光栅化)
- Orthogonal Line Rendering Mode (正交直线渲染模式)
- UAV in non-pixel-shader stages (非像素着色器阶段的UAV)
简单地说,我们确实通过DirectX 11.1 API支持11.1特性,而特性级别为11_0,不支持特性级别11_1。这听上去有点拗口,主要是微软命名的缘故。所以呢,从游戏相关功能的特性级别来说,我们确实支持DirectX 11.1。
BSN又找到了一些顶级游戏开发商的资深人士询问这个问题,其中一个发行PC/X360/PS3跨平台大作、下代引擎仅支持DX11 PC/Xbox 720/PS4的(猜猜是谁)是这样解释的:
DirectX 11.支持是所谓的毯子支持(Blanket Support),使用dx11_0、dx11_1(特性级别的)硬件,我们可以用刀几乎所有功能。我们并不刻意区分它们两个,因为硬件能力有别。
另一家的回复也差不多:
DirectX 11.1是一种增量升级,我们支持自己需要的所有特性,不管是dx11_0还是dx11_硬件。还记得DirectX 10和不同的版本么(DX10/10.1)?它们都可以通过软件特性实现。DirectX 11.0、11.1之间的差别90%都在软件上。
最后被找到的AMD宣称南方群岛架构的Radeon HD 7000系列完全兼容DirectX 11.1,而且完整硬件支持特性级别11_1,而上代北方群岛架构的Radeon HD 6000系列都是DirectX 11.1、特性级别11_0。
另有消息称,NVIDIA明年的开普勒更新版,包括GK112、GK114、GK117等核心都会完整硬件支持特性级别11_1。
【名词解释】:特性级别(Feature Level)
我们平常说的某硬件支持DX某个版本说的都是API(应用编程接口),而特性级别是微软在DX10.1 API时代引入的一个概念,用于归纳某个特定API版本中的硬件支持功能集,允许开发人员简化渲染流水线,在新旧硬件上只用单个版本的API,发挥新版运行时的性能和可用性优势。每一个较高的特性等级都是较低等级的严格超集,包含一些额外的特性。更高级的特性只会用在高级硬件上,但是硬件并不一定非得支持全部的特性等级。
简单地说,特性级别是从DirectX功能的角度定义的,与DirectX API版本并无直接关联。
现在一共有多达九个特性等级,分别是9_1、9_2、9_3、10_0、10_1、11_0、11_1,其中前三个统称为Direct3D 10 Level 9。
GK104