玩游戏,DX11和DX12该怎么选?

您所在的位置:网站首页 渲染api选dx11还是vulkan 玩游戏,DX11和DX12该怎么选?

玩游戏,DX11和DX12该怎么选?

2024-04-23 12:00| 来源: 网络整理| 查看: 265

自从DirectX推出以来,产生巨大影响的有四个版本,即DX7、DX9、DX11、DX12。

而目前3A大作和主流游戏引擎,主要采用的是Win8推出时候集成在Windows中的DX11,和Win10推出时同步集成的DX12。

DirectX 11 和 DirectX 12 之间区别何在?

那么,DirectX 11 和 DirectX 12 之间有哪些区别呢?

简单来说,DirectX 11 是高层应用程序接口,而 DirectX 12 是低层应用程序接口。游戏和硬件之间交互处理有不同的层级。低层应用程序接口更接近硬件,而高层应用程序接口则离硬件更远、更通用。

这是 DirectX 11 和 DirectX 12 之间的重要区别。因此DirectX 12 允许游戏开发人员在更接近硬件的地方进行优化,从而减少 API 和图形驱动程序的开销。

在发布之初,DirectX 12 的性能实际上略低于 DirectX 11,主要原因是其复杂性,不过经过微软多年优化,DirectX 12 的API性能本身现已经优于 DirectX 11。

其中最明显的区别是它们与硬件的交互方式。大多数使用 DirectX 11 开发的游戏只能使用两到四个 CPU 内核。其中一个内核通常会告诉 GPU 做什么。然后,游戏会使用剩余的核心来处理各种 CPU 密集型设置,如游戏的粒子或绘制距离。

然而对于3A游戏来说,这造成了新的多核CPU用户出现“一核有难N核围观”的硬件资源浪费现象,影响了游戏性能。

而DirectX 12 将 CPU 的工作量分散到多个内核上,并允许每个内核同时与 GPU 对话。另外,DirectX 12 还配备了一些面向未来的功能,其中包括异步计算和流水线状态对象(PSO)。异步计算允许多个工作负载并行工作,从而提高了 GPU 的利用率。这基本上释放了显卡 的全部潜能。

DX12虚幻引擎测试,前者采用传统串行渲染,后者采用并行+异步多设备运算,将运算负荷分担到独显和集显上

就像餐厅里的服务员一样。当服务员为您点餐时,他们会先问您想喝什么。收到饮料后,他们会问您想吃什么主菜。您点的菜是分步进行的。服务员不会在您吃完主菜之前问您想吃什么甜点。这样做虽然有效,但效率不高。

有了 DirectX 12 的异步计算,服务员就能像快餐连锁店一样,一次性完成您点的菜。这样可以最大限度地利用 GPU,提高游戏性能。

除图形渲染外,显卡还能处理大量其他任务,如运行机器学习算法。在 DirectX 11 中,显卡一次只能按一定顺序执行其中一项任务。当出现这种情况时,性能就会受到影响,因为 GPU 资源没有得到有效利用。

另外,DX12加入了对光追等最新图形属性的支持。

当然,这些都是理论对比。那么实际性能表现呢?

只要硬件支持,DX12总体性能更好

对实际性能表现来说,游戏分为画质性能和流畅性能。前者由于DX12支持更多的新的显卡的渲染特性,因此画质上面,一般是要由于DX11的。特别是2015年以后的3A大作,体现更为明显。

而在流畅度方面,由于DX12引入了并行处理和一部运算等更适应8核以上CPU或者大小核设计的异步运算架构CPU,因此在吃CPU性能的游戏上的优势更加明显。同时由于DX12能够将运算负载分配在CPU的多核+集显+独显,因此在优化到位情况下,微软声称可以节约最高50%的系统资源,流畅度也更好。

不过,这一切建立在游戏基于DX12开发,且你的硬件平台具有所有的DX12特性支持上。

DX12特性美好,但受到了限制

DirectX 11 和 DirectX 12 发布之间有六年的间隔。在此期间,已有数千款游戏使用 DirectX 11 开发。

DirectX 11作为高层 API 更便于普通开发人员使用。其结果就是游戏稳定、精良、可玩性高。另一方面,DirectX 12 是一种低层 API,与 DirectX 11 不同。虽然它允许开发人员在细粒度上进行微调优化,但也要求开发人员具备丰富的硬件原理知识。

也就是说,根据一般开发人员对 API 的了解程度,使用 DirectX 12 开发的游戏最终可能会性能更差。DirectX 12 带来了一些改进,但这实际上取决于开发人员的执行能力。因此,许多开发者仍然选择使用 DirectX 11 等高级 API。

这也是为何不少3A大作至今虽然支持DX12,但仍然采用DX11这个兼容API接口为主要规范开发和推荐玩家游玩。

玩家该怎么选?

总的来说,如果你的硬件是2015年以后的游戏,而游戏本身也是采用DX12为主开发的,那么基本上应该尽量选择DX12。

但如果你是WIN7用户、较老硬件的玩家,那么大多数情况下,如果游戏提供了DX11和DX12游玩选项,请选择DX11,因为无论是你的系统还是你的硬件都不支持DX12.

总而言之,从 DirectX 11 切换到 DirectX 12 并不像听起来那样非黑即白。这取决于多种因素,如硬件、软件、操作系统,以及游戏是否同时支持这两个版本。在做出决定之前,所有这些因素都需要考虑在内。

文章来自钛师父返回搜狐,查看更多



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3