次の方法で共有


RenderOptions.CachingHint 添付プロパティ

定義

可能な場合はレンダリングされているコンテンツをキャッシュする必要があることを示す値を取得または設定します。

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

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

既定では、WPF はレンダリングされたコンテンツとVisualBrushオブジェクトをDrawingBrushキャッシュしません。 シーン内のブラシの内容もブラシの使用も変わっていない静的なシナリオでは、キャッシュはビデオ メモリを節約するため利点があります。 静的コンテンツを持つブラシを非静的な方法で使用する場合、WPF の既定の動作では、コンテンツが変更されていない場合でも、フレームごとにブラシのすべてのコンテンツを再レンダリングします。 たとえば、静的 DrawingBrush な場合や VisualBrush 、回転する 3D オブジェクトのサーフェスにマップされている場合に発生します。 静的コンテンツを再レンダリングすると、パフォーマンスに悪影響を及ぼす可能性があります。

ブラシの CachingHint 添付プロパティを Cache設定すると、キャッシュされたバージョンのタイル ブラシ オブジェクトを使用してパフォーマンスを向上させることができます。

CacheInvalidationThresholdMinimumプロパティ値とCacheInvalidationThresholdMaximumプロパティ値は、スケールが変更されたためにオブジェクトをTileBrush再生成するタイミングを決定する相対サイズ値です。 たとえば、プロパティが CacheInvalidationThresholdMaximum 2.0 に設定されている場合、キャッシュのサイズが現在の TileBrush キャッシュのサイズの 2 倍を超える場合にのみ、キャッシュを再生成する必要があります。

コードでこのプロパティにアクセスするには、and SetCachingHint メソッドをGetCachingHint使用します。

依存プロパティ情報

識別子フィールド CachingHintProperty
に設定されたメタデータ プロパティ true なし

適用対象

こちらもご覧ください