RenderOptions.CacheInvalidationThresholdMinimum 附加屬性

定義

取得或設定所指定 DependencyObject 的最小快取失效臨界值。

see GetCacheInvalidationThresholdMinimum, and SetCacheInvalidationThresholdMinimum
see GetCacheInvalidationThresholdMinimum, and SetCacheInvalidationThresholdMinimum
see GetCacheInvalidationThresholdMinimum, and SetCacheInvalidationThresholdMinimum

範例

下列範例示範如何使用 的 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>

備註

和其衍生類型都支援 TileBrush 這個附加屬性。 它旨在與具有中繼表面的筆刷搭配使用,例如 DrawingBrushVisualBrush 。 只有當 屬性設定為 Cache 時, CachingHint 它才會有作用。

根據預設,WPF 不會快取 和 VisualBrush 物件的轉譯內容 DrawingBrush 。 在靜態案例中,其中內容和場景中筆刷的使用都未變更,但不會快取內容可提供好處,因為它會節省視訊記憶體。 以非靜態方式使用具有靜態內容的筆刷時,WPF 的預設行為是重新轉譯每個畫面上筆刷的所有內容,即使內容未變更也一樣。 例如,當靜態 DrawingBrushVisualBrush 對應至旋轉 3D 物件的表面時,就會發生這種情況。 重新轉譯靜態內容可能會對效能造成負面影響。

藉由將 CachingHint 筆刷上的附加屬性設定為 Cache ,您可以使用已快取版本的並排筆刷物件來提升效能。

CacheInvalidationThresholdMinimumCacheInvalidationThresholdMaximum 屬性值是相對大小值,可決定 TileBrush 何時應該因為縮放比例變更而重新產生物件。 例如,當 屬性設定為 0.5 時 CacheInvalidationThresholdMinimumTileBrush 只有當其大小縮減為小於目前快取大小的一半時,才需要重新產生 的快取。

若要在程式碼中存取此屬性,請使用 GetCacheInvalidationThresholdMinimumSetCacheInvalidationThresholdMinimum 方法。

相依性屬性資訊

識別碼欄位 CacheInvalidationThresholdMinimumProperty
中繼資料屬性設定為 true

適用於

另請參閱