gpt4 book ai didi

opengl - 有没有办法克服 PC 上的图形 API CPU 瓶颈?

转载 作者:行者123 更新时间:2023-12-02 00:27:22 27 4
gpt4 key购买 nike

最近,我一直在花大量时间研究 GPU 的主题,并且看到几篇文章讨论了由于 GPU 的限制,与主机游戏相比,PC 游戏如何难以保持领先地位蜜蜂。例如,在 Xbox 360 上,我的理解是游戏在内核模式下运行,并且因为硬件总是相同的,所以游戏可以“更接近金属”地编程并且 Directx api 具有较少的抽象。然而,在 PC 上,由于切换到内核模式和更多的抽象层,使用 Direct-X 或 Opengl 进行相同数量的绘制调用可能比在控制台上花费的时间多 2 倍。我有兴趣听听这个问题的可能解决方案。

我听说过一些解决方案,比如直接在硬件上编程,但是(据我所知),ATI 已经发布了低级 API 的规范,nVidia 对此保密,所以那行不通太好了,更不用说制作不同配置文件所增加的开发时间了。

在 Opencl 中编写完整的“软件渲染”解决方案并在 GPU 上运行会更好吗?我的理解是,具有大量绘制调用的游戏受 CPU 限制,并且调用是单线程的(在 PC 上),那么 Opencl 是一个可行的选择吗?

那么问题是:有哪些可能的方法可以提高 Opengl 和 Directx 等图形 API 的效率,甚至消除对它们的需求?

最佳答案

一般的解决方案是不要进行尽可能多的绘制调用。通过数组纹理、实例化和各种其他技术的纹理图集使这成为可能。

或者只是利用现代计算机的 CPU 性能比游戏机高得多这一事实。或者甚至更好,使自己成为 GPU 绑定(bind)。毕竟,如果您的 CPU 是您的瓶颈,那么这意味着您有空闲的 GPU 能力。使用它。

OpenCL 不是与此相关的任何事物的“解决方案”。 OpenCL 无法访问实际使用 GPU 进行渲染需要做的许多事情。为了将 OpenCL 用于图形,您不必使用 GPU 的光栅化器/裁剪器,它是用于在舞台之间传输信息的专用缓冲区、后 T&L 缓存或混合/深度比较/模板/等硬件。所有这些都是固定功能,非常快速和专业。并且对 OpenCL 完全不可用。

即便如此,它实际上也不再受 CPU 限制。您仍然需要编码您正在渲染的内容等等。而且您可能无法访问图形 FIFO,因此您必须找到另一种方式来为着色器提供数据。

或者,换句话说,这是一个不需要解决的“问题”。

关于opengl - 有没有办法克服 PC 上的图形 API CPU 瓶颈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8372103/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com