gpt4 book ai didi

c++ - 在 MFC 中重绘时闪烁

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:14:21 26 4
gpt4 key购买 nike

我正在使用 C++ 和 MFC 编写俄罗斯方 block 游戏。我有一个计时器和 OnTimer 处理程序。处理程序看起来像这样:

... do some game-only logic ...
this->RedrawWindow();

在 OnPaint 处理程序中,我绘制 block 、 map (带位图背景)、分数等。对于绘图,我使用位图和 BitBlt 函数。一切都是从头开始绘制的,我重新绘制了整个窗口区域。整体表现正常,偶尔会出现闪烁,但还好,但是当我在 map 上添加位图背景时,重绘时闪烁变得难以忍受。我是否必须使用其他算法来绘制位图,或者每次触发 OnPaint 时我都错误地重绘?

如何消除闪烁?我只能使用 C++ 和 MFC,不幸的是,在开始这个项目之前我根本不知道后者。

那么,再一次:我怎样才能消除闪烁并提高重绘的性能?

最佳答案

尝试覆盖 CWnd::OnEraseBkgnd只返回非零。这会告诉窗口您已自行处理删除窗口背景。

关于c++ - 在 MFC 中重绘时闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3751178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com