【发布时间】:2012-05-25 11:53:18
【问题描述】:
这应该是一个简单的 google 或 MSDN 答案 - 但我在搜索中遇到了不足。我有一个使用 GDI 进行大量绘图的小型 win32 应用程序。我观察到,当我在我的内存设备上下文中放置一个带有 TextOut() 的“标签”时,然后在 TextOut() 调用之后立即使用 BitBlt,文本会间歇性地显示,闪烁进出。 BitBlt() 在另一个线程中,但我有一个关键部分来防止复制工作中的图形。当我将 TextOut() 放在流程中较早的位置时,即不靠近 BitBlt() 时,它总是会出现。我能想到的是 TextOut() 在完成之前返回.. 谁能指出我的文档或提出另一个理论?
仅供参考 - 我已经签出: http://msdn.microsoft.com/en-us/library/dd145133(v=vs.85).aspx
谢谢!
【问题讨论】:
-
我强烈建议您查看 direct2d(如果您很聪明,请查看 3d)并忘记已弃用的 GDI
-
不是真正的问题 Ulterior... 问题是 TextOut() 是否异步完成。我们有使用 DirectDraw、Direct3D、GDI 的应用程序......每个都有自己的位置。