UIElement.CacheMode Propriété

Définition

Obtient ou définit une valeur qui indique que le contenu rendu doit être mis en cache sous forme de bitmap composite lorsque cela est possible.

C#
public CacheMode CacheMode { get; set; }
XAML
<uiElement CacheMode="BitmapCache" />

Valeur de propriété

Valeur qui indique que le contenu rendu doit être mis en cache sous forme de bitmap composite lorsque cela est possible. Si vous spécifiez la valeur CacheMode, les opérations de rendu à partir de RenderTransform et Opacity s’exécutent sur l’unité de traitement graphique (GPU), si elles sont disponibles. La valeur par défaut est null, ce qui n’active pas le mode de composition mis en cache.

Remarques

Définissez cette valeur pour activer le comportement de mise en cache qui décharge les bitmaps RenderTransform et Opacity sur l’unité de traitement graphique (GPU). Sinon, laissez-le comme null.

Pour XAML, le littéral de chaîne « BitmapCache » est la seule valeur activée que vous pouvez utiliser pour définir CacheMode comme attribut.

Notes

BitmapCache est la seule classe dérivée pratique existante dans l’API Windows Runtime qui active ce comportement (le type CacheMode est un type intermédiaire qui existe uniquement pour des raisons d’infrastructure et d’héritage).

Si vous définissez CacheMode dans le code, définissez-le sur une nouvelle valeur bitmapCache, comme suit :

XAML
<Canvas x:Name="canvas1"/>
C#
canvas1.CacheMode = new BitmapCache();

N’appliquez généralement pas de valeurs CacheMode aux éléments sans tester et profiler d’abord. La mise en cache vers l’unité de traitement graphique (GPU) est destinée uniquement à une minorité de situations de rendu possibles pour une application, et il est prévu que vous profilez différentes combinaisons de quand et où dans votre interface utilisateur pour appliquer un paramètre CacheMode. La surutilisation de CacheMode peut nuire aux performances au lieu de l’aider. Il est préférable de profiler la surface d’application pour déterminer quelles zones ciblées sont les plus coûteuses à restituer, et d’expérimenter la mise en cache uniquement certains éléments en fonction de ces résultats. Pour plus d’informations sur la façon de profiler le rendu, consultez IsOverdrawHeatMapEnabled et la section « Cache static content » de la rubrique Optimiser votre balisage XAML .

Évitez d’utiliser CacheMode et les animations de storyboard ensemble. La mise en cache du contenu où Opacity ou RenderTransform sont animés fait que les animations deviennent des animations dépendantes, même si l’animation est de durée nulle. Pour même voir ces animations exécutées, vous devez définir EnableDependentAnimation sur true, et une animation dépendante invalide généralement tous les gains de performances que vous pouvez obtenir en mettant en cache la composition. L’opacité est souvent animée par des états visuels dans les modèles de contrôle. Il s’agit donc d’une considération, même si vous ne déclarez aucune de vos propres animations de storyboard dans des pages XAML.

S’applique à

Produit Versions
WinRT Build 10240, Build 10586, Build 14383, Build 15063, Build 16299, Build 17134, Build 17763, Build 18362, Build 19041, Build 20348, Build 22000, Build 22621, Build 26100

Voir aussi