GdiFlush 函式 (wingdi.h)
GdiFlush 函式會排清呼叫線程的目前批次。
Syntax
BOOL GdiFlush();
傳回值
如果目前批次中的所有函式都成功,則傳回值為非零。
如果目前批次中的所有函式都成功,則傳回值為零,表示至少有一個函式傳回錯誤。
備註
批處理可藉由將呼叫傳回布爾值之 GDI 繪圖函式所需的時間量降到最低,藉此增強繪圖效能。 系統會累積目前批次中這些函式呼叫的參數,然後在批次排清下列任何方法時呼叫函式:
- 呼叫 GdiFlush 函式。
- 達到或超過 GdiSetBatchLimit 函式所設定的批次限制。
- 填入批處理緩衝區。
- 呼叫未傳回布爾值的任何 GDI 函式。
GdiGetBatchLimit 函式會傳回批次限制。
注意 每個線程會個別維護批次限制。 若要完全停用批處理,請在每次線程初始化期間呼叫 GdiSetBatchLimit (1) 。
使用 mutex 串行化 GDI 物件的存取權的多線程應用程式,必須藉由呼叫 GdiFlush 來清除 GDI 批次佇列,因為每個線程都會釋放 GDI 物件的擁有權。 這可防止 GDI 物件的衝突 (裝置內容、元檔等等) 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wingdi.h (包含 Windows.h) |
程式庫 | Gdi32.lib |
Dll | Gdi32.dll |