CachingHint Enum

Definition

Anger om tillagda penselobjekt ska cachelagrats.

public enum class CachingHint
public enum CachingHint
type CachingHint = 
Public Enum CachingHint
Arv
CachingHint

Fält

Name Värde Description
Unspecified 0

Inga cachelagringstips har angetts.

Cache 1

Cachelagra de tillagda penselobjekten i en buffert utanför skärmen med hjälp av de cachelagringstips som anges i RenderOptions inställningarna.

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 hela innehållet 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 ställa in den CachingHint anslutna egenskapen på penseln på Cache kan 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 det TileBrush objektet ska återskapas på grund av ändringar i skalan. Genom att till exempel ange egenskapen CacheInvalidationThresholdMaximum till 2.0 behöver cachen för TileBrush bara återskapas när dess storlek överskrider dubbelt så stor som den aktuella cachen.

Gäller för

Se även