CachingHint 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
並べて表示されたブラシ オブジェクトをキャッシュするかどうかを指定します。
public enum class CachingHint
public enum CachingHint
type CachingHint =
Public Enum CachingHint
- 継承
フィールド
Cache | 1 | RenderOptions 設定で指定されたキャッシュ ヒントを使用して、並べて表示されたブラシ オブジェクトを画面外のバッファーにキャッシュします。 |
Unspecified | 0 | キャッシュ ヒントは指定されません。 |
例
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)
注釈
既定では、WPF はレンダリングされたコンテンツとVisualBrushオブジェクトをDrawingBrushキャッシュしません。 シーン内のコンテンツもブラシの使用も変わっていない静的なシナリオでは、キャッシュはビデオ メモリを節約するため、利点を提供しません。 静的コンテンツを持つブラシを非静的な方法で使用する場合、WPF の既定の動作では、コンテンツが変更されていない場合でも、フレームごとにブラシのコンテンツ全体を再レンダリングします。 たとえば、静的 DrawingBrush な場合や VisualBrush 、回転する 3D オブジェクトのサーフェスにマップされている場合に発生します。 静的コンテンツを再レンダリングすると、パフォーマンスに悪影響を及ぼす可能性があります。
ブラシの添付プロパティを CachingHint Cache に設定すると、キャッシュされたバージョンのタイル ブラシ オブジェクトを使用してパフォーマンスを向上させることができます。
CacheInvalidationThresholdMinimum プロパティと CacheInvalidationThresholdMaximum プロパティの値は、スケールの変化に伴って TileBrush オブジェクトをいつ再生成する必要があるかを決定する相対的なサイズ値です。 たとえば、CacheInvalidationThresholdMaximum プロパティを 2.0 に設定すると、TileBrush のキャッシュ サイズが現在のキャッシュ サイズの倍を超えた場合にだけ、キャッシュを再生成すれば済みます。