RenderOptions.SetCachingHint(DependencyObject, CachingHint) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger värdet för den CachingHint anslutna egenskapen för ett angivet beroendeobjekt.
public:
static void SetCachingHint(System::Windows::DependencyObject ^ target, System::Windows::Media::CachingHint cachingHint);
public static void SetCachingHint(System.Windows.DependencyObject target, System.Windows.Media.CachingHint cachingHint);
static member SetCachingHint : System.Windows.DependencyObject * System.Windows.Media.CachingHint -> unit
Public Shared Sub SetCachingHint (target As DependencyObject, cachingHint As CachingHint)
Parametrar
- target
- DependencyObject
Beroendeobjektet som egenskapens värde CachingHint ska anges på.
- cachingHint
- CachingHint
Det nya värdet som egenskapen ska anges till.
Undantag
Den angivna target är null.
Exempel
I det följande exemplet visas hur du använder cache-hints-alternativet för en DrawingBrush.
DrawingBrush drawingBrush = new DrawingBrush();
// Set the caching hint option for the brush.
RenderOptions.SetCachingHint(drawingBrush, CachingHint.Cache);
// Set the minimum and maximum relative sizes for regenerating the tiled brush.
// The tiled brush will be regenerated and re-cached when its size is
// 0.5x or 2x of the current cached size.
RenderOptions.SetCacheInvalidationThresholdMinimum(drawingBrush, 0.5);
RenderOptions.SetCacheInvalidationThresholdMaximum(drawingBrush, 2.0);
Dim drawingBrush As New DrawingBrush()
' Set the caching hint option for the brush.
RenderOptions.SetCachingHint(drawingBrush, CachingHint.Cache)
' Set the minimum and maximum relative sizes for regenerating the tiled brush.
' The tiled brush will be regenerated and re-cached when its size is
' 0.5x or 2x of the current cached size.
RenderOptions.SetCacheInvalidationThresholdMinimum(drawingBrush, 0.5)
RenderOptions.SetCacheInvalidationThresholdMaximum(drawingBrush, 2.0)
Kommentarer
Som standard cachelagrade WPF inte det renderade innehållet i objekten DrawingBrush och VisualBrush. I statiska scenarier, där varken innehållet eller användningen av penseln i scenen ändras, ger inte cachelagring en fördel eftersom det sparar videominne. När en pensel med statiskt innehåll används på ett icke-statiskt sätt är standardbeteendet för WPF att åter återge allt innehåll i penseln varje bildruta, även om innehållet är oförändrat. Detta inträffar till exempel när en statisk DrawingBrush eller VisualBrush mappas till ytan på ett roterande 3D-objekt. Återrendering av det statiska innehållet kan ha en negativ inverkan på prestanda.
Genom att ange den CachingHint bifogade egenskapen för penseln till Cachekan du öka prestandan genom att använda cachelagrade versioner av de tillagda penselobjekten.
Egenskapsvärdena CacheInvalidationThresholdMinimum och CacheInvalidationThresholdMaximum är relativa storleksvärden som avgör när TileBrush objektet ska återskapas på grund av ändringar i skalan. När egenskapen till exempel CacheInvalidationThresholdMaximum är inställd på 2.0 behöver cacheminnet endast TileBrush återskapas när dess storlek överskrider två gånger storleken på den aktuella cachen.
Använd den här metoden för att ange den CachingHint anslutna egenskapen i kod.