小编典典

3D 游戏为何如此高效?

all

有件事我一直不明白。像 GTA IV 这样的大型 PC 游戏如何使用我 50% 的 CPU 并以 60fps 运行,而旋转茶壶 @ 60fps 的 DX
演示使用高达 30% 的速度?


阅读 71

收藏
2022-07-27

共1个答案

小编典典

一般来说,这是因为

  1. 游戏正在优化他们需要渲染的内容,并且
  2. 他们特别利用了您的硬件。

例如,您可以进行的一项简单优化涉及不实际尝试绘制看不到的东西。考虑一个复杂的场景,例如 Grand Theft Auto IV
中的城市景观。渲染器实际上并没有渲染所有的建筑物和结构。相反,它只渲染相机可以看到的内容。如果你能飞到这些建筑物的后面,面对原来的相机,你会看到一个半建成的镂空外壳结构。相机看不到的每个点都不会被渲染——因为你看不到它,所以没有必要尝试向你展示它。

此外,当您针对一组特定硬件进行开发时,存在优化的指令和特殊技术,以实现更好的加速。

您问题的另一部分是为什么演示使用这么多 CPU:

… 而旋转茶壶 @ 60fps 的 DX 演示使用了高达 30% 的速度?

当您的硬件不支持展示漂亮示例所需的所有功能时,图形 API(如dxdemo)的演示通常会退回到所谓的 软件渲染器。
这些功能可能包括阴影、反射、光线追踪、物理等。

这模仿了不太可能存在的功能齐全的硬件设备的功能,以展示 API 的所有功能。但由于硬件实际上并不存在,而是在您的 CPU
上运行。这比委派给显卡效率低得多——因此你的 CPU 使用率很高。

2022-07-27