我正在 MFC 中构建 Conway 的人生游戏。我在使用 Allegro 之前构建了它,并想使用 MFC 试用它。所以我开始迁移算法和东西。它使用一个核心渲染得很好,并且它的生命游戏算法非常漂亮,就像在快板中一样。 Conway 的人生游戏由使用 pDC->rectangle(x1, y1, x2, y2) 绘制的小矩形组成。
我的问题实际上有两个,其中之一是每次我调用 pDC->rectangle(...) 它都会立即绘制它,从而导致这种链式 react 渲染风格。我希望它在完成工作时显示(我知道您可以在 directx 中执行此操作,但我只想使用 MFC 的设备上下文执行此操作)。
另一个问题是标题,可能是我的主要问题。你如何使用并发 pDC,我试过了,它做了一些奇怪的事情。我知道我不能在 OnDraw 中以并发方式使用 pDC,因为它是占用相同内存但在我的 6 核中使用的相同设备上下文。就这些,先谢谢了。
最佳答案
为了避免立即绘制,可以在内存中绘制abitmap,完成后blit到真正的dc上。有一个look here as a starting point ,或在 this article在 CodeProject 上。对于多线程部分,您应该能够在多个线程的内存设备上下文中使用相同的上下文,只需确保正确协调共享 DC 的创建和 blitting/release。
关于c++ - 使用 OnDraw() 的 MFC 并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12252305/