UIElement.CacheMode 屬性

定義

取得或設定值,這個值表示轉譯的內容應該盡可能快取為複合點陣圖。

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" />

屬性值

值,指出轉譯的內容應該盡可能快取為複合點陣圖。 如果您指定 CacheMode的值,則會在圖形處理單位上執行 RenderTransformOpacity 的轉譯作業,如果有的話, (GPU) 。 預設值為 null ,其不會啟用快取組合模式。

備註

將此值設定為啟用將 RenderTransformOpacity 點陣圖卸載至圖形處理單位的快取行為, (GPU) 。 否則,請將它保留為 null

針對 XAML,字串常值 「BitmapCache」 是唯一可用來設定 CacheMode 為屬性的已啟用值。

注意

BitmapCache是Windows 執行階段 API 中唯一現有的實際衍生類別,可啟用此行為, (CacheMode類型是僅基於基礎結構和舊版原因而存在的中繼類型) 。

如果在程式碼中設定 CacheMode ,請將它設定為 BitmapCache的新值,如下所示:

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

通常不要先測試和分析,將值套用 CacheMode 至元素。 快取至圖形處理單位 (GPU) 僅適用于應用程式可能呈現的一些情況,而且預期您會分析 UI 中何時和何處套用 CacheMode 設定的各種組合。 過度 CacheMode 使用可能會損害效能,而不是協助它。 最好分析應用程式介面區,以判斷哪些目的地區域最耗費資源來轉譯,並實驗只根據這些結果快取特定元素。 如需如何分析轉譯的詳細資訊,請參閱 優化 XAML 標記 主題的一節。

避免同時使用 CacheMode 和分鏡腳本動畫。 快取不透明度RenderTransform的動畫內容會導致動畫變成相依動畫,即使動畫為零持續時間也一樣。 即使看到這些動畫執行,您必須將 設定 EnableDependentAnimationtrue 為 ,相依動畫通常會使您可能從快取組合取得的所有效能提升失效。 不透明度 通常是由控制項範本中的視覺狀態產生動畫效果,因此即使您未在 XAML 頁面中宣告任何自己的分鏡動畫,也是一個考慮。

適用於

另請參閱