UIElement.CacheMode Properti

Definisi

Mendapatkan atau menetapkan nilai yang menunjukkan bahwa konten yang dirender harus di-cache sebagai bitmap yang dikomposisikan jika memungkinkan.

public:
 property CacheMode ^ CacheMode { CacheMode ^ get(); void set(CacheMode ^ value); };
CacheMode CacheMode();

void CacheMode(CacheMode value);
public CacheMode CacheMode { get; set; }
var cacheMode = uIElement.cacheMode;
uIElement.cacheMode = cacheMode;
Public Property CacheMode As CacheMode
<uiElement CacheMode="BitmapCache" />

Nilai Properti

Nilai yang menunjukkan bahwa konten yang dirender harus di-cache sebagai bitmap yang dikomposisikan jika memungkinkan. Jika Anda menentukan nilai CacheMode, operasi penyajian dari RenderTransform dan Opacity dijalankan pada unit pemrosesan grafis (GPU), jika tersedia. Defaultnya adalah null, yang tidak mengaktifkan mode komposisi cache.

Keterangan

Atur nilai ini untuk mengaktifkan perilaku penembolokan yang membongkar bitmap RenderTransform dan Opacity ke unit pemrosesan grafis (GPU). Jika tidak, biarkan sebagai null.

Untuk XAML, string literal "BitmapCache" adalah satu-satunya nilai yang diaktifkan yang dapat Anda gunakan untuk mengatur CacheMode sebagai atribut.

Catatan

BitmapCache adalah satu-satunya kelas turunan praktis yang ada di WINDOWS Runtime API yang memungkinkan perilaku ini (jenis CacheMode adalah jenis perantara yang hanya ada karena alasan infrastruktur dan warisan).

Jika mengatur CacheMode dalam kode, atur ke nilai baru BitmapCache, seperti ini:

<Canvas x:Name="canvas1"/>
canvas1.CacheMode = new BitmapCache();
#include <winrt/Windows.UI.Xaml.Media.h>
...
canvas1().CacheMode(Windows::UI::Xaml::Media::BitmapCache{});
canvas1->CacheMode = ref new BitmapCache();

Jangan menerapkan nilai CacheMode secara umum ke elemen tanpa pengujian dan pembuatan profil terlebih dahulu. Penembolokan ke unit pemrosesan grafis (GPU) hanya ditujukan untuk sebagian kecil dari kemungkinan situasi penyajian untuk aplikasi, dan diharapkan Anda akan memprofilkan berbagai kombinasi kapan dan di mana di UI Anda menerapkan pengaturan CacheMode. Penggunaan CacheMode yang berlebihan dapat merusak performa daripada membantunya. Yang terbaik adalah membuat profil area permukaan aplikasi untuk menentukan area yang ditargetkan mana yang paling mahal untuk dirender, dan bereksperimen dengan penembolokan hanya elemen tertentu berdasarkan hasil tersebut. Untuk informasi selengkapnya tentang cara membuat profil untuk penyajian, lihat bagian IsOverdrawHeatMapEnabled dan "Cache konten statis" dari topik Optimalkan markup XAML Anda .

Hindari menggunakan CacheMode dan animasi papan cerita bersama-sama. Konten penembolokan di mana Opacity atau RenderTransform dianimasikan menyebabkan animasi menjadi animasi dependen, bahkan jika animasinya nol durasi. Untuk melihat animasi tersebut berjalan, Anda harus mengatur EnableDependentAnimation ke true, dan animasi dependen biasanya membatalkan semua keuntungan performa yang mungkin Anda dapatkan dari penembolokan komposisi. Opasitas sering dianimasikan oleh status visual dalam templat kontrol, jadi ini adalah pertimbangan bahkan jika Anda tidak mendeklarasikan animasi papan cerita Anda sendiri di halaman XAML.

Berlaku untuk

Lihat juga