【问题标题】:What is the practical purpose of RAM and CPU in game development?RAM和CPU在游戏开发中的实际用途是什么?
【发布时间】:2017-02-25 08:09:38
【问题描述】:

出于实际目的,我想知道 CPU 和 RAM 在游戏开发方面的实际作用是什么?

我的理解是 CPU 会执行游戏中的所有计算,例如碰撞检查、条件检查、数学方程式、创建对象等。 而RAM存储了所有需要记忆的数据,比如Assets、Variables等。

对吗?

然后是什么处理图形渲染,显卡如何适应所有这些?我知道玩高端游戏需要高端显卡,但我不确定它实际上能做什么。

【问题讨论】:

  • 这似乎是一个关于“通用计算硬件”的问题,因此这里离题了。

标签: graphics gpu cpu game-engine ram


【解决方案1】:

游戏通常包含以下部分:

  1. 用户界面

    这负责用户/游戏交互,如移动、对象使用、键盘、鼠标、操纵杆等的处理。I/O 部分在 CPU 上完成与操作系统交互。而且通常要求不高。

    最有问题的部分是对象选择(例如想要打开门,打开开关等),这需要计算游戏世界中的位置和对应的对象。为此同时使用 CPUGFX。例如 OpenGL 可以在渲染期间返回特定屏幕位置上渲染对象的索引(因此通常几乎没有成本)。但是,此技术仅选择可见对象,您不能选择被其他物体覆盖的对象(例如在许多游戏中,您需要更改视图位置才能正确选择)。 CPU 使用了更精确/舒适的选择,但在这种情况下,所有可选对象都必须存在于 CPURAM 中。如果可选对象的数量和/或复杂性很高,那么这对 CPU 的要求很高。

  2. 世界物理学

    这模拟了所有的运动、碰撞、甚至效果等。现在由 CPU 和/或 GFX 完成。此任务的内存和处理能力要求取决于模拟对象的数量和模拟的物理效果。

  3. 世界/游戏逻辑

    这里出现了诸如任务状态、解锁功能、获得奖励、经验进展、得分计数等情况编码。通常这根本不要求并且仅在 CPU 方面完成。

  4. 渲染

    这些东西主要是在 GFX 方面完成的(如果不算简单的 2D 逻辑游戏,在 CPU 方面很容易实现)。所有的东西通常都存储在 GFXMEM 但在某些情况下,CPUMEM 中的副本存在也。 GFX 内存的大小限制了渲染屏幕的分辨率、纹理的数量和质量以及存储场景的复杂性。如果任何参数超过 GFX 低谷输出,则整个渲染会随着 fps 的大幅下降而下降。在这种情况下,通常喜欢屏幕分辨率会有所帮助,因为渲染技术需要许多具有屏幕分辨率(或其倍数)的阴影缓冲区。

    GFX 的计算能力会影响场景的最大复杂度以及可能的效果或渲染通道数。

  5. 声音

    这有时也需要大量的处理和内存。通常由 CPU 及其侧面 MEM 完成,并由当前声音 HW 加速。对于程序生成的声音和效果,这可能与 GFX 层一样苛刻。然而,游戏通常使用静态样本来代替,只计算它们的幅度和相对位置,这并不需要太多要求。

  6. 人工智能

    这是为了驱动游戏中的所有机器人 NPC 或其他任何东西。这是在 CPU 方面完成的,要求取决于它们的数量和 AI 质量。通常处理能力是最重要的,因为这通常不需要每个实体太多的内存。

  7. 网络

    CPU 端完成,通常要求不高(服务器端除外,它也可能需要大量 MEM)。速度通常由网络HW和连接决定,而不是由CPU处理能力决定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-20
    • 2011-04-02
    • 2019-05-17
    • 2015-04-22
    • 2021-07-22
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    相关资源
    最近更新 更多