DirectX 11和DirectX 12之间的主要区别是什么?

DirectX 11和DirectX 12之间的主要区别是什么?,directx,direct3d,Directx,Direct3d,我正在学习DirectX 12,对此我很好奇 谁来帮帮我 enter code here TL:DR:如果您是Direct3D新手,请先学习DirectX 11。对新手要宽容得多。一旦你掌握了DirectX 11,切换到DirectX 12应该会容易得多 DirectX 11和DirectX 12基本上控制着相同类型的硬件(尽管较新的功能仅在这一点上添加到DirectX 12,如DirectX光线跟踪和DirectX终极硬件功能级别),但它们有许多不同的API编程模型 简言之:DirectX

我正在学习DirectX 12,对此我很好奇

谁来帮帮我

enter code here

TL:DR:如果您是Direct3D新手,请先学习DirectX 11。对新手要宽容得多。一旦你掌握了DirectX 11,切换到DirectX 12应该会容易得多

DirectX 11和DirectX 12基本上控制着相同类型的硬件(尽管较新的功能仅在这一点上添加到DirectX 12,如DirectX光线跟踪和DirectX终极硬件功能级别),但它们有许多不同的API编程模型

简言之:DirectX 11和以前的DirectX运行时隐藏了使用现代硬件和驱动程序的许多复杂性,而DirectX 12则让应用程序开发人员来完成这些工作:

  • 工作安排
  • CPU/GPU同步
  • 资源的状态跟踪(即加载纹理时的纹理与用于过滤的纹理以及用作渲染目标时的纹理)
  • 管理着色器+状态置换
  • CPU/GPU可编程着色器数据共享
这使得DirectX 12成为一个“专家”API,因为正确使用它需要大量的知识,但也意味着编写良好的DirectX 12程序可以避免CPU上的大量额外工作,这些工作过去是在DirectX 11运行时“代表您”完成的,从而使其更易于使用

《移植指南》是API设计中关键差异的“逐点”列表。您也可能会发现该频道很有用。

查看并