UIElement.CacheMode Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau menetapkan nilai yang menunjukkan bahwa konten yang dirender harus di-cache sebagai bitmap yang dikomposisi 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 terkomposit 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 yang di-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 diatur 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{});
Umumnya jangan menerapkan CacheMode
nilai ke elemen tanpa pengujian dan pembuatan profil terlebih dahulu. Penembolokan ke unit pemrosesan grafis (GPU) hanya ditujukan untuk minoritas kemungkinan situasi penyajian untuk aplikasi, dan diharapkan Anda akan memprofilkan berbagai kombinasi kapan dan di mana di UI Anda menerapkan CacheMode
pengaturan. 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 "Cache konten statis" dari topik Optimalkan markup XAML Anda .
Hindari menggunakan CacheMode dan animasi papan cerita bersama-sama. Penembolokan konten 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk