我正在使用C++和MFC编写一个俄罗斯方块游戏.我有一个计时器和OnTimer处理程序.Handler看起来像这样:
... do some game-only logic ...
this->RedrawWindow();
Run Code Online (Sandbox Code Playgroud)
在OnPaint处理程序中,我绘制块,映射(带位图背景),得分等.对于绘图我使用位图和BitBlt函数.一切都是从头开始绘制的,我重绘了整个窗口区域.总体性能是正常的,有时闪烁,但没关系,但是当我将位图背景添加到地图时,闪烁同时重绘变得难以忍受.我是否必须使用其他算法来绘制位图,或者每次触发OnPaint时都可能错误地进行所有重绘?
我怎样才能消除闪烁?我只能使用C++和MFC,不幸的是后者在开始这个项目之前根本不知道.
那么,再说一次:如何消除闪烁并提高重绘的性能?