다음을 통해 공유


GdiFlush 함수(wingdi.h)

GdiFlush 함수는 호출 스레드의 현재 일괄 처리를 플러시합니다.

구문

BOOL GdiFlush();

반환 값

현재 일괄 처리의 모든 함수가 성공하면 반환 값은 0이 아닌 값입니다.

현재 일괄 처리의 모든 함수가 성공하지 못한 경우 반환 값은 0이며, 이는 하나 이상의 함수가 오류를 반환했음을 나타냅니다.

설명

일괄 처리는 부울 값을 반환하는 GDI 그리기 함수를 호출하는 데 필요한 시간을 최소화하여 그리기 성능을 향상시킵니다. 시스템은 현재 일괄 처리에서 이러한 함수에 대한 호출에 대한 매개 변수를 누적한 다음 다음 방법으로 일괄 처리가 플러시될 때 함수를 호출합니다.

  • GdiFlush 함수를 호출합니다.
  • GdiSetBatchLimit 함수에서 설정한 일괄 처리 제한에 도달하거나 초과합니다.
  • 일괄 처리 버퍼 채우기
  • 부울 값을 반환하지 않는 GDI 함수를 호출합니다.
GdiFlush의 반환 값은 GdiFlush가 호출된 시점에 일괄 처리의 함수에만 적용됩니다. 일괄 처리가 다른 수단으로 플러시될 때 발생하는 오류는 보고되지 않습니다.

GdiGetBatchLimit 함수는 일괄 처리 제한을 반환합니다.

참고 일괄 처리 제한은 각 스레드에 대해 개별적으로 유지 관리됩니다. 일괄 처리를 완전히 사용하지 않도록 설정하려면 각 스레드를 초기화하는 동안 GdiSetBatchLimit (1)를 호출합니다.
 
그래픽 일괄 처리 큐에 보류 중인 함수 호출이 있을 가능성이 있는 경우 스레드가 사라지기 전에 애플리케이션에서 GdiFlush 를 호출해야 합니다. 스레드가 사라지면 시스템에서 이러한 일괄 처리된 함수를 실행하지 않습니다.

뮤텍스를 사용하여 GDI 개체에 대한 액세스를 직렬화하는 다중 스레드 애플리케이션은 각 스레드가 GDI 개체의 소유권을 해제할 때 GdiFlush 를 호출하여 GDI 일괄 처리 큐를 플러시하도록 해야 합니다. 이렇게 하면 GDI 개체(디바이스 컨텍스트, 메타파일 등)의 충돌을 방지할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 wingdi.h(Windows.h 포함)
라이브러리 Gdi32.lib
DLL Gdi32.dll

추가 정보

GdiGetBatchLimit

GdiSetBatchLimit

그리기 및 그리기 함수

그리기 및 그리기 개요