Condividi tramite


D1111: uso del livello quando il clip è sufficiente

PERF: viene usato un livello con una maschera di opacità NULL , un'opacità 1,0 e una maschera geometrica rettangolare allineata all'asse. L'API Clip push/pop dovrebbe ottenere gli stessi risultati con prestazioni più elevate.

Segnaposto

Interfaccia

Indirizzo dell'interfaccia.

   
Livello di errore Informazioni

 

Esempio

Il codice seguente usa PushLayer e PopLayer quando il livello contiene una sola primitiva (un rettangolo) e i campi della struttura D2D1_LAYER_PARAMETERS sono impostati sulle impostazioni predefinite. Per i valori predefiniti della struttura D2D1_LAYER_PARAMETERS , vedere LayerParameter.

        ID2D1Layer *m_pLayer;

        hr = m_pRenderTarget->CreateLayer(D2D1::SizeF(100, 100), &m_pLayer);
        m_pRenderTarget->PushLayer(D2D1::LayerParameters(), m_pLayer);
        m_pRenderTarget->FillRectangle(D2D1::RectF(100, 50, 400, 160), m_pBlackBrush);
        m_pRenderTarget->PopLayer();

In questo esempio viene generato il messaggio di debug seguente:

DEBUG INFO - PERF - A layer is being used with a NULL opacity mask, 1.0 opacity, 
            and an axis aligned rectangular geometric mask.  
            The Push/Pop Clip API should achieve the same results with higher performance.

Possibili cause

Un livello è stato usato quando i metodi PushAxisAlignedClip e PopAxisAlignedClip sarebbero sufficienti.