Поделиться через


D1111: использование слоя, когда клипа достаточно

PERF — слой используется с маской непрозрачности NULL , непрозрачностью 1,0 и прямоугольной геометрической маской, выровненной по оси. API push/pop clip должен достичь одинаковых результатов с более высокой производительностью.

Заполнители

Интерфейс

Адрес интерфейса.

   
Уровень ошибки Сведения

 

Примеры

В следующем коде используются PushLayer и PopLayer , если слой содержит только один примитив (прямоугольник), а полям структуры D2D1_LAYER_PARAMETERS заданы значения по умолчанию. Значения по умолчанию для структуры D2D1_LAYER_PARAMETERS см. в разделе 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();

В этом примере показано следующее сообщение об отладке:

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.

Возможные причины

Слой использовался, когда методов PushAxisAlignedClip и PopAxisAlignedClip было достаточно.