Bagikan melalui


D1111: Menggunakan lapisan saat klip sudah cukup

PERF - Lapisan sedang digunakan dengan masker opasitas NULL , opasitas 1,0, dan masker geometris persegi panjang yang selaras sumbu. PUSH/Pop Clip API harus mencapai hasil yang sama dengan performa yang lebih tinggi.

Tempat penampung

Antarmuka

Alamat antarmuka.

   
Tingkat Kesalahan Informasi

 

Contoh

Kode berikut menggunakan PushLayer dan PopLayer ketika lapisan hanya berisi satu primitif (persegi panjang) dan bidang struktur D2D1_LAYER_PARAMETERS diatur ke default. Untuk nilai default struktur D2D1_LAYER_PARAMETERS , lihat 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();

Contoh ini menghasilkan pesan debug berikut:

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.

Kemungkinan Penyebabnya

Lapisan digunakan ketika metode PushAxisAlignedClip dan PopAxisAlignedClip sudah cukup.