D1110: Fehler beim Leeren
Ein Flush-Aufruf durch ein Renderziel ist fehlgeschlagen [Ressource]. Tags [tag1, tag2].
Platzhalter
-
Ressource
-
Die Adresse des Renderziels.
-
tag1
-
Der erste Tagwert. Weitere Informationen finden Sie unter SetTags .
-
tag2
-
Der zweite Tagwert. Weitere Informationen finden Sie unter SetTags .
Fehlerebene | Warnung |
Beispiele
Beispiel 1: Der folgende Code zeigt, dass sich ein Draw-Aufruf in einem ungültigen Zustand befindet. Um die Warnmeldung zu vermeiden, verwenden Sie SetAntialiasMode , um D2D1_ANTIALIAS_MODE_ANTIALIASED vor einem FillOpacityMask-Aufruf festzulegen.
if(SUCCEEDED(hr))
{
hr = m_pRenderTarget->CreateBitmap(
D2D1::SizeU(1,1),
NULL,
0,
D2D1::BitmapProperties(D2D1::PixelFormat(
DXGI_FORMAT_A8_UNORM,
D2D1_ALPHA_MODE_PREMULTIPLIED
)),
&m_pBitmap
);
}
m_pRenderTarget->FillOpacityMask(
m_pBitmapMask,
m_pFernBitmapBrush,
D2D1_OPACITY_MASK_CONTENT_GRAPHICS,
&rcBrushRect
);
hr = m_pRenderTarget->Flush();
hr = m_pRenderTarget->EndDraw();
In diesem Beispiel wird die folgende Debugmeldung erzeugt:
D2D DEBUG WARNING - Flush call on render target failed [88990001]. Tags [0, 0].
Beispiel 2: Der folgende Code zeigt, dass das Flush nach dem EndDraw-Aufruf aufgerufen wird.
// Calling Flush after EndDraw generates a
// flush error message from the debug layer.
hr = m_pRenderTarget->EndDraw();
hr = m_pRenderTarget->Flush();
In diesem Beispiel wird die folgende Debugmeldung erzeugt:
DEBUG WARNING - A Flush call by a render target failed [88990001]. Tags [0, 0].
Mögliche Ursachen
Der Flush-Aufruf kann aus einem von zwei Gründen fehlschlagen. Es kann ein Fehler auftreten, weil die Methode außerhalb des BeginDraw/EndDraw-Aufrufs aufgerufen wurde, oder es kann ein Fehler auftreten, weil ein Fehler von einem der Renderzielvorgänge verursacht wurde, die seit dem letzten Flush- oder EndDraw-Aufruf verarbeitet wurden. Um das Problem zu beheben, sollte die Anwendung die Ursache des Fehlers ermitteln und die entsprechende Aktion ausführen.
Fehlerbehebungen
Es gibt viele Gründe, warum ein Flush-Aufruf fehlschlägt. Die Anwendung sollte die Ursache des Fehlers ermitteln und die entsprechende Aktion ergreifen.