기본적으로 Direct2D 그림은 EndDraw 함수 뒤에 화면에 표시됩니다.Direct2D 렌더링 추적
디버깅 목적으로 드로잉 프리미티브를 그리면 화면에 그림이 표시되어야합니다.
Direct2D에서 가능합니까? 이러한 목적으로 GDI에서 GdiSetBatchLimit (1)을 사용했습니다.
기본적으로 Direct2D 그림은 EndDraw 함수 뒤에 화면에 표시됩니다.Direct2D 렌더링 추적
디버깅 목적으로 드로잉 프리미티브를 그리면 화면에 그림이 표시되어야합니다.
Direct2D에서 가능합니까? 이러한 목적으로 GDI에서 GdiSetBatchLimit (1)을 사용했습니다.
불가능합니다. 모든 프리미티브 둘레에서 BeginDraw/EndDraw가 필요합니다. 레이어 나 클립이 있다면 모든 프리미티브를 설정하고 제거해야합니다.
Drawing operations can only be issued between a BeginDraw and EndDraw call.
당신은 D2D 대상에 GDI의 내용을 렌더링 할 수 있습니다 (Direct2D and GDI Interoperability Overview)
아니면 당신은 당신의 그림이 끝날 때까지 다음 하나의 원시 (다음 둘, 셋을 캡슐화하는 루프를 시도 할 수 있습니다 코드) 시작/끝내기. 아래 의사 코드는 것처럼 :이 화면에 표시되지는 않지만
for (i=0; i<number of primitives; i++)
{
Begindraw;
Drawprimitive0;
if (i == 0)
{
EndDraw();
continue;
}
Drawprimitive1;
if (i == 1)
{
EndDraw();
continue;
}
Drawprimitive2;
if (i == 2)
{
EndDraw();
continue;
}
etc.
}
, 주기적으로 호출하여 오류를 분리 할 수 있습니다 ['ID2D1RenderTarget :: Flush'] (http://msdn.microsoft. com/ko-ko/library/windows/desktop/dd316801 % 28v = vs.85 % 29.aspx). –