0

我已经在 Google 上搜索了几个小时,以了解如何在连续绘制、擦除和重绘我将用于我的游戏的精灵时防止闪烁。我看到的许多网站都告诉我使用双缓冲区,甚至没有告诉我如何使用。-_- 有人可以教我如何在 masm32 汇编中实现双缓冲区吗?您的回答将不胜感激!

编辑:顺便说一句,我正在使用 int 10h,ah = 13h

4

1 回答 1

0

要使用 Bios 功能,我们需要 16 位实模式或 V86 模式。但不是 32 位保护模式。为了使用缓冲,我们可以将输出绘制到内存中的缓冲区中,如果我们完成了它,我们可以等待阴极射线的垂直消隐间隔,然后我们可以将缓冲区复制到屏幕上。

使用线性帧缓冲区的视频模式的另一种方法是使用视频内存中的缓冲区,并在等待垂直消隐间隔的同时调整缓冲区的显示起始地址。这可以通过使用 VESA VBE Bios 来完成。有关 VBE 功能的更多详细信息,请参阅 vesa.org 的公开且免费的文档“vbe3.pdf”(需要注册/登录)。

于 2014-12-01T06:00:16.900 回答