【问题标题】:How can I create simple 2d graphics with decent frames per second?如何创建具有良好每秒帧数的简单 2d 图形?
【发布时间】:2013-07-01 00:51:56
【问题描述】:

当我发现 bitblt 每次平均需要 33 毫秒来绘制手时,我尝试制作旋转的手,这只是一张图片。当游戏绘制一个满是东西的屏幕时,我认为它会比简单的 bitblt 方法在屏幕上绘制小图片需要更长的时间,但我想不会。

我可以使用哪些常见/流行的方法来创建简单的 2d 图形,例如从文件中绘制图像,执行时间比 bitblt 少得多?

【问题讨论】:

  • 尝试使用 OpenGL 或 DirectX 等 API
  • Opengl 有 enableclientstate+glVertexPointer+glDrawArrays 可以渲染任何图像,只要它已经在内存中。你会得到像精灵这样的东西。

标签: c++ windows graphics 2d


【解决方案1】:

如何创建具有良好每秒帧数的简单 2d 图形?

通过 OpenGL/DirectX 使用硬件加速。如果禁用了垂直同步,您应该能够轻松获得每秒至少 300(最多 2000)帧。

但是,图像的大小很重要。您的图像越大,绘图越慢。 在某些 GPU 上,将大型 2D 图像传送到屏幕上会降低帧速率。

另见this question

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-15
    • 2017-08-31
    • 2019-06-14
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多