1

这应该是一个简单的 google 或 MSDN 答案 - 但我在搜索方面做得很短。我有一个使用 GDI 进行大量绘图的小型 win32 应用程序。我观察到,当我在我的内存设备上下文中放置一个带有 TextOut() 的“标签”时,然后在 TextOut() 调用之后立即使用 BitBlt,文本会间歇性地显示,闪烁进出。BitBlt() 在另一个线程中,但我有一个关键部分来防止复制工作中的图形。当我将 TextOut() 放在流程中较早的位置时,即不靠近 BitBlt(),它总是显示出来。我能想到的是 TextOut() 在完成之前返回.. 谁能指出我的文档或提出另一种理论?

仅供参考 - 我已经签出: http: //msdn.microsoft.com/en-us/library/dd145133 (v=vs.85).aspx

谢谢!

4

1 回答 1

2

是的,它确实。 GdiFlush()是强制所有 GDI 更新到视频适配器的调用。

许多其他射击脚的方法。GDI 根本不是线程安全的,所以我猜不要指望奇迹。

于 2012-05-18T00:04:09.390 回答