我听说旧的街机横向滚动游戏使用特定的编程技巧来启用高性能横向滚动。
我知道几年前这些机器还不够强大,无法像现在这样每帧重新绘制整个屏幕。有一些技术,例如脏矩形,可以在背景静止且只有精灵移动时最小化重新绘制所需的屏幕区域。
上述方法仅在背景不改变时才有效(因此大部分屏幕像素保持静止)。
垂直滚动游戏,例如老式射击游戏,由于滚动而导致每一帧的背景都发生变化,因此事情变得更加困难。但是,可以利用像素被馈送到显示器的方式(逐行)。我想人们可以使用更大的缓冲区并将数据指针每帧“向下”移动几行,以便从另一个位置开始重新绘制,从而给人一种平滑滚动的印象。仍然只需要重新绘制精灵(以及屏幕边缘的一些背景),这是一个严重的优化。
然而,对于横版游戏来说,事情并不是那么简单明了。尽管如此,我知道过去的某个地方有人进行了优化,该优化(有一些限制)允许旧机器水平滚动背景而无需每帧重绘它。
IIRC 它被用于许多老游戏,主要是 80 年代的 beat'em ups,以及演示场景制作
你能描述一下这种技术并说出它的作者吗?