RenderOptions.SetCachingHint(DependencyObject, CachingHint) Metod

Definition

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.

Gäller för

Se även