介绍如何在11、10或9个硬件上运行Direct3D 11应用程序(十一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoyafang123/article/details/89501221

征层为了处理新机器和现有机器中视频卡的多样性,Direct3D 11引入了特征级别的概念。每个显卡根据所安装的gpu实现一定级别的Direct3D功能。在以前的Direct3D版本中,您可以找到所实现的视频卡的Direct3D版本,然后相应地编写应用程序。

使用Direct3D 11,引入了一个新的范例,称为特征层。一个特征层是一组定义好功能集。例如,9_1功能级别实现了在Direct3D version 9.1中实现的功能,而11_0功能级别实现了在Direct3D 11中实现的功能。

当你创建一个设备时,你可以试着去创建一个你需要的特征层。如果这个设备创建成功,则此特征层存在,如果失败,则证明此硬件不支持此特征层。你可以试着去用一个更低级别的特征层创建一个设备或者退出应用程序。

使用特征层,你能为D3D9,D3D10,D3D11创建一个应用程序运行在9,10,11硬件上。下面是一些特征层的基本属性:

  • 允许创建设备的GPU满足或超过该功能级别的功能。
  • 特征层总是包含以前的或更低的特征层的功能。
  • 特征层并不意味着性能,而仅仅意味着功能。性能取决于硬件实现。
  • 在创建Direct3D11设备时,选择一个特性级别

为了帮助您决定使用什么功能级别进行设计,请比较每个功能级别的功能。

每个特性级别的概述

下表列出了每个功能级别的可用功能:

猜你喜欢

转载自blog.csdn.net/xiaoyafang123/article/details/89501221