Compartir a través de


D1111: Usar capa cuando el clip es suficiente

PERF: se usa una capa con una máscara de opacidad NULL , opacidad 1.0 y una máscara geométrica rectangular alineada con el eje. Push/Pop Clip API debe lograr los mismos resultados con un mayor rendimiento.

Marcadores de posición

Interfaz

Dirección de la interfaz.

   
Nivel de error Información

 

Ejemplos

El código siguiente usa PushLayer y PopLayer cuando la capa contiene solo un primitivo (un rectángulo) y los campos de la estructura D2D1_LAYER_PARAMETERS se establecen en valores predeterminados. Para conocer los valores predeterminados de la estructura de D2D1_LAYER_PARAMETERS , consulte 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();

En este ejemplo se genera el siguiente mensaje de depuración:

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.

Causas posibles

Se usó una capa cuando los métodos PushAxisAlignedClip y PopAxisAlignedClip habrían sido suficientes.