gpt4 book ai didi

game-loop - 单线程游戏和渲染

转载 作者:行者123 更新时间:2023-12-04 18:21:05 24 4
gpt4 key购买 nike

我正在为 2D 游戏编写单线程游戏引擎。现在我的游戏循环看起来很像这样:

  • 更新游戏逻辑
  • 更新物理
  • 处理冲突
  • 渲染场景

  • 我正在使用 OpenGL 进行渲染。我想知道游戏循环中的“渲染场景”步骤位置。在“渲染场景”步骤结束时有一个 SwapBuffers() 调用,因此 CPU 被阻塞,直到所有渲染完成。您如何看待这个游戏循环:
  • 渲染场景(上一帧)
  • 逻辑、物理、碰撞
  • 交换缓冲区

  • 这种方法将在 CPU 和 GPU 之间带来更好的并行性。我对吗?

    最佳答案

    我知道这已经回答了,但我有一些要补充的。

    你在这里提到的

    Render scene (previous frame)
    Logic, physics, collisions
    Swap buffers

    可能会提高帧率,但也会大大增加延迟。当用户按下按钮时,在最好的情况下会在超过两帧之后首先看到结果,最坏的情况下会在 4 帧之后看到结果。

    更好的游戏循环是:
    -Handle Input, move character etc. (This takes virtually no time)
    -Render
    -Do the heavy calculations (AI, physics)
    -Swap Buffers

    关于game-loop - 单线程游戏和渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10673062/

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