(wingdi.h) 的 GdiFlush 函数

GdiFlush 函数刷新调用线程的当前批处理。

语法

BOOL GdiFlush();

返回值

如果当前批处理中的所有函数都成功,则返回值为非零值。

如果当前批处理中并非所有函数都成功,则返回值为零,表示至少有一个函数返回了错误。

注解

批处理通过最大程度地减少调用返回布尔值的 GDI 绘图函数所需的时间来增强绘制性能。 系统累积当前批处理中对这些函数的调用的参数,然后在通过以下任一方式刷新批处理时调用这些函数:

  • 调用 GdiFlush 函数。
  • 达到或超过 GdiSetBatchLimit 函数设置的批限制。
  • 填充批处理缓冲区。
  • 调用不返回布尔值的任何 GDI 函数。
GdiFlush 的返回值仅适用于调用 GdiFlush 时批处理中的函数。 永远不会报告通过任何其他方式刷新批处理时发生的错误。

GdiGetBatchLimit 函数返回批限制。

注意 单独为每个线程维护批限制。 若要完全禁用批处理,请在初始化每个线程期间 (1) 调用 GdiSetBatchLimit
 
如果图形批处理队列中可能存在挂起的函数调用,则应用程序应在线程消失之前调用 GdiFlush 。 当线程消失时,系统不会执行此类批处理函数。

使用互斥对 GDI 对象的访问进行序列化的多线程应用程序必须确保通过调用 GdiFlush 刷新 GDI 批处理队列,因为每个线程都会释放 GDI 对象的所有权。 这可以防止 GDI 对象 (设备上下文、图元文件等) 冲突。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 wingdi.h (包括 Windows.h)
Library Gdi32.lib
DLL Gdi32.dll

另请参阅

GdiGetBatchLimit

GdiSetBatchLimit

绘制和绘制函数

绘画和绘图概述