UIElement.CacheMode Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit une valeur qui indique que le contenu rendu doit être mis en cache en tant que bitmap composite si possible.
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" />
Valeur de propriété
Valeur qui indique que le contenu rendu doit être mis en cache en tant que bitmap composite si possible. Si vous spécifiez une valeur de CacheMode, les opérations de rendu à partir de RenderTransform et Opacity s’exécutent sur l’unité de traitement graphique (GPU), le cas échéant. La valeur par défaut est , qui n’active nullpas un 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 en tant qu’attribut.
Note
BitmapCache est la seule classe dérivée pratique existante de 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 héritées).
Si vous définissez ce paramètre CacheMode dans le code, définissez-le sur une nouvelle valeur de BitmapCache, comme suit :
<Canvas x:Name="canvas1"/>
canvas1.CacheMode = new BitmapCache();
#include <winrt/Windows.UI.Xaml.Media.h>
...
canvas1().CacheMode(Windows::UI::Xaml::Media::BitmapCache{});
N’appliquez CacheMode généralement pas de valeurs aux éléments sans tester et profiler en premier. 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 d’où dans votre interface utilisateur pour appliquer un CacheMode paramètre. Le surutilisation des CacheMode performances peut blesser plutôt que de l’aider. Il est préférable de profiler la surface de l’application pour déterminer quelles zones ciblées sont les plus coûteuses à restituer et d’expérimenter la mise en cache uniquement de certains éléments en fonction de ces résultats. Pour plus d’informations sur la façon de profiler pour le rendu, consultez la section « Contenu statique du cache » de la rubrique Optimiser votre balisage XAML .
Évitez d’utiliser les animations cacheMode et storyboarded ensemble. La mise en cache du contenu dans lequel opacité ou RenderTransform sont animés entraîne la création d’animations dépendantes, même si l’animation est de durée nulle. Pour voir même ces animations s’exécuter, vous devrez définir EnableDependentAnimationtruesur , et une animation dépendante invalide généralement tous les gains de performances que vous pouvez obtenir à partir de la mise en cache de 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 storyboarded dans les pages XAML.