底层渲染和异步计算,可以算是DirectX 12的核心改进。除此之外,DirectX还带来了大量的全新功能。
DirectX 12支持无绑定(bindless)功能。这个功能实际上在DirectX 11.1中就存在,不过在DirectX 12中大幅度提升了应用范围。无绑定功能主要是指之前着色和纹理的绑定功能,一组着色代码只能针对128组纹理。不过在DirectX 12中,这个限定被取消了,一组着色代码可以针对任意组纹理,这就提升了可以被同事处理的纹理数据,并且降低了着色代码被重复执行的几率,也降低了CPU占用了,提升了GPU占用率。
除了无绑定这个比较重要的特性外,DirectX 12还加入了诸如平铺资源(Tiled Resoure)、归类UAV访问、立体平铺资源(Volume Tiled Resources)、保守光栅(Conservative Rasterization)、光栅顺序视图(Raster Order Views)等功能,这些功能主要是用于提高计算效率,降低计算瓶颈,本身并没有带来太多图形特效,因此简单了解即可。此外,DirectX 12还加入了对不同GPU的并行计算支持,也是目前的一大亮点。
Star Swarm也是目前测试DirectX 12的底层渲染的测试软件之一,不过这些测试软件和实际游戏还有很大的差别。