Compartilhar via


D1111: usando a camada quando o clip é suficiente

PERF – Uma camada está sendo usada com uma máscara de opacidade NULL , opacidade de 1,0 e uma máscara geométrica retangular alinhada ao eixo. A API de Clipe de Push/Pop deve alcançar os mesmos resultados com um desempenho mais alto.

Marcadores de posição

interface

O endereço da interface.

   
Nível de Erro Informação

 

Exemplos

O código a seguir usa o PushLayer e o PopLayer quando a camada contém apenas um primitivo (um retângulo) e os campos da estrutura D2D1_LAYER_PARAMETERS são definidos como padrões. Para obter os valores padrão da estrutura 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();

Este exemplo produz a seguinte mensagem de depuração:

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 possíveis

Uma camada foi usada quando os métodos PushAxisAlignedClip e PopAxisAlignedClip teriam sido suficientes.