出于实际目的,我想知道CPU和RAM实际上在游戏开发方面做了些什么?
我的理解是CPU执行游戏中的所有计算,例如碰撞检查,条件检查,数学方程式,创建对象等。 RAM存储了需要记住的所有数据,例如Assets,Variables等。
这是对的吗?
然后处理图形渲染,以及显卡如何适应所有这些?我知道要玩高端游戏你需要高端显卡,但实际上我不确定它实际上是做什么的。
答案 0 :(得分:0)
游戏通常包含以下部分:
<强> UI 强>
这负责用户/游戏交互,例如移动,对象使用,键盘,鼠标,操纵杆等的处理。 I / O 部分在 CPU 上完成与 OS 进行交互。并且通常没有要求。
最有问题的部分是对象选择(例如想要打开门,打开等等),这需要计算游戏世界中的位置和对应物体。为此,使用 CPU 和 GFX 。例如, OpenGL 可以在渲染期间返回特定屏幕位置上渲染对象的索引(因此通常几乎不需要任何费用)。但是,此技术仅选择可见对象,并且您无法选择由其他内容覆盖的对象(例如,在许多游戏中,您需要更改视图位置才能正确选择)。为了更精确/舒适地选择 CPU ,但在这种情况下,所有可选对象必须出现在 CPU 侧 RAM 中。如果可选对象的数量和/或复杂性很高,那么对 CPU 的要求非常高。
世界物理
这会模拟所有动作,碰撞,甚至效果等。现在由 CPU 和 GFX 完成。此任务的内存和处理能力要求取决于模拟对象的数量和模拟的物理效果。
世界/游戏逻辑
这里的情况编码如任务状态,解锁功能,获得奖励,经验进展,得分计数等。通常这根本不是要求并且仅在 CPU 方面完成。
<强>渲染强>
这个东西主要在 GFX 方面完成(如果不算简单的 2D 逻辑游戏,可以轻松地在 CPU 方面)。所有内容通常存储在 GFX 侧 MEM ,但在某些情况下,存在 CPU 侧 MEM 的副本太。 GFX 内存的大小限制了渲染屏幕分辨率,纹理的数量和质量以及存储的场景的复杂性。如果任何参数超过 GFX troughoutput,则整个渲染会因巨大的fps下降而下降。在这种情况下,通常情人喜欢的屏幕分辨率会有所帮助,因为渲染技术需要对屏幕分辨率(或其倍数)进行多次阴影缓冲计数。
GFX 的计算能力会影响场景的最大复杂性,并且可能会影响效果或渲染次数。
<强>声音强>
这有时会占用大量的处理和内存。通常使用 CPU 及其侧 MEM 完成,并通过当前声音 HW 加速。对于程序生成的声音和效果,这可能与 GFX 层一样苛刻。然而,游戏通常使用静态样本而只是计算幅度和相对位置,这并不是那么苛刻。
<强> AI 强>
这是为了驱动所有机器人NPC或游戏中的任何东西。这是在 CPU 方面完成的,要求取决于其数量和 AI 质量。通常处理能力是最重要的,因为这通常不需要每个实体的大量内存。
网络强>
完成 CPU 方面并且通常没有那么苛刻(除了服务器端也可能需要很多 MEM )。速度通常由网络 HW 和连接决定,而不是由 CPU 处理能力决定。