win32 TextOut()是否异步完成?

时间:2012-05-17 21:11:58

标签: winapi graphics gdi

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

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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