RenderOptions.CachingHint Angefügte Eigenschaft

Definition

Ruft einen Wert ab, der angibt, dass die dargestellten Inhalte sofern möglich zwischengespeichert werden sollen, oder legt diesen fest.

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

Beispiele

Im folgenden Beispiel wird die Verwendung der Option für Zwischenspeicherhinweise für einen DrawingBrush gezeigt.

<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>

Hinweise

Diese angefügte Eigenschaft wird von TileBrush und den abgeleiteten Typen unterstützt. Es ist für die Verwendung mit Pinsel vorgesehen, die Zwischenflächen haben, z DrawingBrush . B. und VisualBrush.

Standardmäßig speichert WPF den gerenderten Inhalt von DrawingBrush - und VisualBrush -Objekten nicht zwischen. In statischen Szenarien, in denen sich weder der Inhalt noch die Verwendung des Pinsels in der Szene ändern, bietet die Zwischenspeicherung keinen Vorteil, da der Videospeicher gespart wird. Wenn ein Pinsel mit statischem Inhalt nicht statisch verwendet wird, besteht das Standardverhalten von WPF darin, den gesamten Inhalt des Pinsels bei jedem Frame neu zu rendern, obwohl sich der Inhalt nicht ändert. Dies geschieht beispielsweise, wenn ein statisches DrawingBrush objekt oder VisualBrush der Oberfläche eines rotierenden 3D-Objekts zugeordnet ist. Das erneute Rendern des statischen Inhalts kann sich negativ auf die Leistung auswirken.

Wenn Sie die CachingHint angefügte Eigenschaft des Pinsels auf Cachefestlegen, können Sie die Leistung erhöhen, indem Sie zwischengespeicherte Versionen der gekachelten Pinselobjekte verwenden.

Die CacheInvalidationThresholdMinimum Eigenschaftswerte und CacheInvalidationThresholdMaximum sind Relative Size-Werte, die bestimmen, wann das TileBrush Objekt aufgrund von Skalierungsänderungen neu generiert werden soll. Wenn die CacheInvalidationThresholdMaximum -Eigenschaft beispielsweise auf 2.0 festgelegt ist, muss der Cache für den TileBrush nur dann neu generiert werden, wenn seine Größe die doppelte Größe des aktuellen Caches überschreitet.

Verwenden Sie die GetCachingHint Methoden und SetCachingHint , um im Code auf diese Eigenschaft zuzugreifen.

Informationen zur Abhängigkeitseigenschaft

Bezeichnerfeld CachingHintProperty
Metadateneigenschaften auf true festgelegt Keine

Gilt für:

Weitere Informationen