DirectX11 什么是设备和特性级别之美

1、为什么要创建设备?

游戏的画面流畅度很大部分取决于画面绘制的速度,所以为了充分发挥DirectX在游戏渲染中的效能,我们当然要选好性能最好,能够为我们提供最快的渲染速度的设备咯。

2、设备类型有哪些?

在Direct3D 11设备类型有四种,我们可以使用硬件设别、WARP设备、软件驱动设备或是引用设备(也称参考设备)。

硬件设备:是运行在图形硬件上的D3D设备,在所有设备中是最快的。(那么我们首选这个)

WARP设备:用一种高效的CPU渲染设备,可模拟Direct3D的全部特性,它比引用设备更好。该设备用于低端机器也能够实现我们所希望看到的游戏极端性能。在实时应用中如果硬件设备还没有有效的支持,而引用设备又嫌太慢时,这种方式一个很好的选择。

引用设备:引用设备用于在CPU 上执行图形硬件所不支持的特性渲染。换句话说,就是引用设备是在软件中完全模拟硬件 渲染。这种处理方式十分的慢并且低效,仅仅在没有其他替代设备的时候使用。这种方式对于新的DirectX  版本发 布时却是有益的,因为此时在市场上还没有能运行新特性的硬件设备。

软件驱动设备:允许开发者编写自己的软件渲染驱动用于Direct3D 中,称为插件式的软件驱动。通常该方式不被
推荐用于高性能,对硬件要求苛刻的程序,甚至选择WARP 设备都比它好。

如果要我们对以上设备进行一个优先级排序,那么我们就自然而然会按硬件设备-WARP设备-引用设备-软件驱动设备 这样的顺序来排序。

3、有了设备类型就能发挥出DirectX的所有渲染特性吗?特性级别有什么用?

游戏中除了流畅度还有画面精美度,我们知道流畅度依赖于设备的渲染速度,但是选了一个设备是否就一定能发挥DirectX所有渲染特性呢?答案是否定的,因为并硬件不一定都能开启所有DirectX特性,所以我们还要判断一下该设备能否支持特定的特性级别,来尽可能地开启更多的特性效果,让设备尽可能发挥的精美的画面效果(见下图某硬件的特性等级介绍)。特性等级与DirectX API版本无直接关联,比如有9_1、9_2、9_3、10_0、10_1、11_0、11_1等。

发布了74 篇原创文章 · 获赞 146 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44350205/article/details/103607012
今日推荐