【发布时间】:2012-01-12 09:55:33
【问题描述】:
最近,我花了很多时间研究 GPU 的主题,并且看到了几篇文章,这些文章谈到了 PC 游戏与主机游戏相比如何由于 GPU 的限制而难以保持领先地位。蜜蜂。例如,在 Xbox 360 上,我的理解是游戏在内核模式下运行,因为硬件总是相同的,所以游戏可以“更接近金属”进行编程,而 Directx api 的抽象程度较低。然而,在 PC 上,由于切换到内核模式和更多抽象层,使用 Direct-X 或 Opengl 进行相同数量的绘图调用可能比在控制台上花费更多的时间 2 倍。我很想听听这个问题的可能解决方案。
我听说过一些解决方案,比如直接在硬件上编程,但是(据我了解)ATI 已经发布了底层 API 的规范,nVidia 保密,所以这行不通太好了,更不用说制作不同配置文件所增加的开发时间了。
在 Opencl 中编写完整的“软件渲染”解决方案并在 GPU 上运行会更好吗?我的理解是,具有大量绘图调用的游戏是 cpu 绑定的,并且调用是单线程的(在 PC 上),那么 Opencl 是一个可行的选择吗?
所以问题是: 有哪些方法可以提高 Opengl 和 Directx 等图形 API 的效率,甚至不再需要这些 API?
【问题讨论】: