UIElement.CacheMode 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定值,這個值表示轉譯的內容應該盡可能快取為複合點陣圖。
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的值,則會在圖形處理單位上執行 RenderTransform 和 Opacity 的轉譯作業,如果有的話, (GPU) 。 預設值為 null
,其不會啟用快取組合模式。
備註
將此值設定為啟用將 RenderTransform 和 Opacity 點陣圖卸載至圖形處理單位的快取行為, (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的動畫內容會導致動畫變成相依動畫,即使動畫為零持續時間也一樣。 即使看到這些動畫執行,您必須將 設定 EnableDependentAnimation
true
為 ,相依動畫通常會使您可能從快取組合取得的所有效能提升失效。
不透明度 通常是由控制項範本中的視覺狀態產生動畫效果,因此即使您未在 XAML 頁面中宣告任何自己的分鏡動畫,也是一個考慮。