Freigeben über


D1110: Löschfehler

Fehler bei einem Flush-Aufruf eines Renderziels [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 .

   
Fehlerstufe 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 " 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 zwei Gründen fehlschlagen. Möglicherweise schlägt die Methode fehl, da die Methode außerhalb desBeginDraw EndDraw-Aufrufs/ aufgerufen wurde, oder sie schlägt fehl, da es einen Fehler gab, der von einem der Renderzielvorgänge erzeugt 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.