【发布时间】:2014-02-14 21:39:25
【问题描述】:
在实时游戏中,总会有一个游戏循环,每隔几毫秒运行一次,用新数据更新游戏并重新绘制整个屏幕。
除了游戏之外,这是否在其他类型的应用程序中也能看到?一个'常量更新循环'?
例如,想象一个像 MSPaint 这样的应用程序。用户可以用鼠标在屏幕上画线。正在绘制的线在绘制时显示在屏幕上。
请想象这条线实际上是由许多小线组成的,每条线长 2 个像素。将这些小行中的每一行存储在List 中是有意义的。
但正如我所说,正在绘制的线(大线,由许多小线组成)在绘制时显示。这意味着需要重新绘制屏幕才能显示之前添加的新 small 行。
但是 - 如果我弄错了,请纠正我 - 仅 重新绘制新的小线被绘制的屏幕的特定部分是很困难的。如果是这样,则需要重新绘制整个屏幕。
因此,使用“更新循环”来不断地重新绘制整个屏幕,并不断地遍历线条列表并一遍又一遍地绘制这些线条是有意义的 - 就像在游戏中一样。
这种方法是否存在于非游戏应用程序中,特别是“绘图”应用程序中?
谢谢
【问题讨论】:
-
异步编程中的reactor本质上就是这个循环。
标签: loops architecture game-loop