RenderOptions.CacheInvalidationThresholdMaximum 附加屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定所指定 DependencyObject 的最大快取失效臨界值。
see GetCacheInvalidationThresholdMaximum, and SetCacheInvalidationThresholdMaximum
see GetCacheInvalidationThresholdMaximum, and SetCacheInvalidationThresholdMaximum
see GetCacheInvalidationThresholdMaximum, and SetCacheInvalidationThresholdMaximum
範例
下列範例示範如何使用 的 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 和其衍生型別所支援。 其旨在搭配具有中繼表面的筆刷使用,例如 DrawingBrush 和 VisualBrush 。 只有當 屬性設定為 Cache 時 CachingHint ,它才會有作用。
根據預設,WPF 不會快取 和 VisualBrush 物件的轉譯內容 DrawingBrush 。 在靜態案例中,其中內容和場景中筆刷的使用都不會變更,而不會快取內容提供好處,因為它可節省視訊記憶體。 以非靜態方式使用具有靜態內容的筆刷時,WPF 的預設行為是重新轉譯每一個畫面格的所有筆刷內容,即使內容未變更也一樣。 例如,當靜態 DrawingBrush 或 VisualBrush 對應至旋轉 3D 物件的表面時,就會發生這種情況。 重新轉譯靜態內容可能會對效能造成負面影響。
藉由將 CachingHint 筆刷上的附加屬性設定為 Cache ,您可以使用已快取的磚筆刷物件版本來提升效能。
CacheInvalidationThresholdMinimum和 CacheInvalidationThresholdMaximum 屬性值是相對大小值,決定 TileBrush 何時應該重新產生物件,因為縮放比例變更。 例如,當 屬性設定為 2.0 時 CacheInvalidationThresholdMaximum ,只有當其大小超過目前快取的大小兩倍時, TileBrush 才需要重新產生 的快取。
若要在程式碼中存取此屬性,請使用 GetCacheInvalidationThresholdMaximum 和 SetCacheInvalidationThresholdMaximum 方法。
相依性屬性資訊
識別碼欄位 | CacheInvalidationThresholdMaximumProperty |
設定為 的中繼資料屬性 true |
無 |