D1111: クリップで十分な場合にレイヤーを使用する
PERF - レイヤーは 、NULL 不透明度マスク、1.0 不透明度、および軸揃え矩形ジオメトリック マスクで使用されています。 プッシュ/ポップ クリップ API では、パフォーマンスが向上して同じ結果が得られます。
プレースホルダー
-
インターフェイス
-
インターフェイスのアドレス。
エラー レベル | Information |
例
次のコードでは、レイヤーにプリミティブ (四角形) が 1 つだけ含まれており、D2D1_LAYER_PARAMETERS構造体のフィールドが既定値に設定されている場合、PushLayer と PopLayer を使用します。 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 メソッドで十分な場合に使用されました。