0.2 API层次

      D3D10 的运行时是分层次的。首先是处于核心的基本功能层,然后再是处于外围的可选功能层次,如辅助开发层等。

核心层
      核心层是默认存在的,它提供了API函数和驱动程序之间的直接映射,尽量减少高频度调用时的开销。核心层最注重的是性能,所以它只做最关键的验证。
      除核心层外的所有层都是可选的。基本规则是,每个层次添加新的功能,但不改变已有的功能。当调用D3D10CreateDevice创建设备时,核心层总会被创建。可选层通过设置D3D10_CREATE_DEVICE_FLAG 标记来选择。

调试层
      调试层提供大量的参数和一致性验证。可以通过 ID3D10InfoQueue 接口来获取调试层返回的字符串队列。
      为使用调试层,必须安装DirectX SDK(来获得D3D10SDKLayers.DLL),并在D3D10CreateDevice时提供D3D10_CREATE_DEVICE_DEBUG 标记。使用调试层会使程序帧率变慢。

切换到参考(Switch-to-Reference)层

     为程序提供在硬件抽象设备(HAL)和参考软件设备(REF)之间切换的功能。在D3D10CreateDevice时选择D3D10_DRIVER_TYPE_REFERENCE设备类型来创建参考设备。或者提供D3D10_CREATE_DEVICE_SWITCH_TO_REF 标记来同时创建硬件抽象设备参考设备。使用 ID3D10SwitchToRef::SetUseRef.函数来进行HAL和REF之间的切换。

线程安全层
      线程安全层使得程序的多个线程可以安全地使用一个设备。线程安全层默认开启,所以D3D10默认就是线程安全的,而D3D9不是。

posted on 2007-08-31 14:24 随便写写 阅读(456) 评论(0)  编辑 收藏 引用 所属分类: DirectX 10 学习与研究


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


导航

<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

统计

常用链接

留言簿(1)

随笔分类(30)

随笔档案(16)

文章分类(18)

文章档案(9)

链接

搜索

最新评论

阅读排行榜

评论排行榜