RenderOptions.CachingHint Ansluten egenskap

Definition

Hämtar eller anger ett värde som anger att renderat innehåll ska cachelagras när det är möjligt.

see GetCachingHint, and SetCachingHint
see GetCachingHint, and SetCachingHint
see GetCachingHint, and SetCachingHint

Exempel

I det följande exemplet visas hur du använder cache-hints-alternativet för en DrawingBrush.

<DrawingBrush x:Key="drawingBrush"
              RenderOptions.CachingHint="Cache"
              RenderOptions.CacheInvalidationThresholdMaximum="2.0"
              RenderOptions.CacheInvalidationThresholdMinimum="0.5">
    <DrawingBrush.Drawing>
        <GeometryDrawing Brush="Blue">
            <GeometryDrawing.Geometry>
                <GeometryGroup>
                    <EllipseGeometry RadiusX="20" RadiusY="20" Center="10,10" />
                </GeometryGroup>
            </GeometryDrawing.Geometry>
            <GeometryDrawing.Pen>
                <Pen Thickness="10" Brush="Black" />
            </GeometryDrawing.Pen>
        </GeometryDrawing>
    </DrawingBrush.Drawing>
</DrawingBrush>

Kommentarer

Den här bifogade egenskapen stöds av TileBrush och dess härledda typer. Den är avsedd att användas med penslar som har mellanliggande ytor, till exempel DrawingBrush och VisualBrush.

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 metoderna och GetCachingHint för att komma åt den här egenskapen i kodSetCachingHint.

Information om beroendeegenskap

Objekt Value
Identifierarfält CachingHintProperty
Metadataegenskaper inställda på true Ingen

Gäller för

Se även