【发布时间】:2010-09-20 11:51:31
【问题描述】:
我正在使用 C++ 和 MFC 编写俄罗斯方块游戏。我有一个计时器和 OnTimer 处理程序。处理程序如下所示:
... do some game-only logic ...
this->RedrawWindow();
在 OnPaint 处理程序中,我绘制块、地图(带有位图背景)、分数等。对于绘图,我使用位图和 BitBlt 函数。一切都是从头开始绘制的,我重新绘制了整个窗口区域。整体性能正常,有时会闪烁,但没关系,但是当我将位图背景添加到地图时,重绘时闪烁变得难以忍受。我是否必须使用其他算法来绘制位图,或者每次触发 OnPaint 时我在进行所有重绘时可能是错误的?
如何消除闪烁?我只能使用 C++ 和 MFC,不幸的是,在开始这个项目之前我根本不知道后者。
那么,再说一遍:如何消除闪烁并提高重绘性能?
【问题讨论】: