首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在地幔、dx和ogl上的性能

在地幔、dx和ogl上的性能
EN

Stack Overflow用户
提问于 2015-02-22 15:38:13
回答 2查看 195关注 0票数 1

因此,最近所有关于3d图形的新API的骚动,据说大大加快了图形的速度,我想知道为什么以前没有这样做。旧的方式和新的方式有什么不同?

我想知道它是如何实现的,甚至可能是从gpu到驱动程序到DX或OGL的API的概述。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-22 21:41:27

发生的主要事情是GPU本身已经变得相当标准化,甚至在不同的供应商之间也是如此。DirectX和OpenGL从历史上一直致力于隐藏不同厂商GPU设计之间的差异,其中许多设计在过去都有非常独特的硬件架构--OpenGL一直是一个“漏”的抽象,有着成千上万个特定于供应商的扩展。

DirectX 12和Mantle都比过去公开了更多GPU的底层行为,因此运行时库比底层驱动程序要瘦得多。这种方法不会适用于每一张显卡,尤其是传统的DirectX和OpenGL可以支持的许多老卡-- OpenGL的支持可以追溯到几十年前。DirectX 10 (然后是DirectX 11 )的GPU功能正常化的推动,使得来自不同厂商的消费者级PC图形硬件从DirectX早期开始就不再那么古怪了。

另外要记住的是,这种权衡还需要更多的应用程序/游戏本身来正确处理CPU/GPU同步、高效地驱动硬件、跟踪和详尽地描述它们使用的状态组合,并且通常不需要运行时的安全级别和支持。

编写DirectX 12应用程序比现在的DirectX 11或OpenGL需要更多的图形编程技巧。在Direct3D 9中设置设备/交换链和简单的呈现场景可能需要几十行代码,而在Direct3D 11中则需要几百行代码,但在DirectX 12中则需要更多的代码,因为应用程序本身必须执行运行时以前“通过魔术”完成的所有单独步骤。这使得应用程序/游戏可以调整确切的顺序,并可能跳过他们实际上不需要的步骤,但这是在他们身上,而不是运行时来实现这一点。

引用本叔叔的话,强大的力量带来了巨大的责任。

多年来,开发者们一直坚持希望PC上有一个类似于控制台的API,所以现在他们会发现他们是否真的想要它。对于游戏引擎编写人员、带有自定义引擎的AAA标题以及技术演示场景来说,拥有如此多几乎直接控制硬件的功能非常酷。对于普通人来说,长时间使用DirectX 11或者使用已经实现了DirectX 12的引擎要容易得多。

票数 6
EN

Stack Overflow用户

发布于 2015-02-22 16:00:41

要了解它从gpu到API驱动程序的工作方式,可以从这个图形管道开始。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28659697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档