软件风向标

DirectxX 12技术浅析新闻

栏目

DirectxX 12提供“间接执行” 进一步减少CPU占用

newtype2001 2023-06-13 05:05:21

在今年的GDC上,微软展示了DX12提供的“间接调用绘图方案”(indirect dispatching draw solution),这一特色取代了DX11的简介绘图(DrawIndirect)和间接调用(DispatchIndirect),可以进一步提升硬件表现,让DX12带来的改变更加显著。

最新的“间接执行”(ExecuteIndirect )可以在一次API请求中执行多个绘图命令,让CPU和GPU同事控制绘图请求。不仅如此,“间接执行”还能在不同的绘图请求中间改变绑定关系。

微软Direct3D和 DXGI的开发主席Max McMullen进行了跑分演示,通过英特尔的Asteroids展示了DX11和DX12之间的差距,以及DX12 Bindless 和DX12 ExecuteIndirect之间的差距。

如下图所示,DX11的跑分成绩只有29fps。

切换到DX12以后,帧数几乎增加了两倍,达到75fps,自然,CPU使用率也提高了。

在bindless模式下,DX12可以预处理所有材质贴图,因此可以带来一些性能提升(达到79fps)。DX12的“无束素材”bindless resources可以大幅提升GPU的运行效果,不需要暂停并等待CPU告诉它需要进行怎样的改变。

最后,在间接执行模式下,Asteroids demo几乎跑到了90fps。同时CPU负担还大幅减轻,也就是说通过这一渲染方式,开发组可以更加大胆地调用CPU的空余资源。

总之,DX12是一个非常出色的API,必将给所有配置的PC带来显著性能提升。现在我们要期待的是各个制作组何时才能真正学会利用这款API。

相关文章

图文推荐

猜你喜欢

  • DirectxX

  • CPU

DirectxX[共1款]更多>>

CPU[共113款]更多>>