RenderOptions.CachingHint 연결된 속성

정의

가능한 경우 렌더링된 콘텐츠를 캐시함을 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates that rendered content should be cached when possible.

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

예제

다음 예제에 대 한 캐싱 힌트 옵션을 사용 하는 방법을 보여 줍니다는 DrawingBrush합니다.The following example shows how to use the caching hint option for a 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 및 해당 파생 형식에서 지원 됩니다.This attached property is supported by TileBrush and its derived types. 및와 같은 중간 표면을 포함 하는 브러시와 함께 사용 하기 위한 것 DrawingBrush 입니다 VisualBrush .It is intended to be used with brushes that have intermediate surfaces, such as DrawingBrush and VisualBrush.

기본적으로 WPF는 및 개체의 렌더링 된 콘텐츠를 캐시 하지 않습니다 DrawingBrush VisualBrush .By default, WPF does not cache the rendered contents of DrawingBrush and VisualBrush objects. 장면에서 브러시의 내용 또는 사용이 변경 되지 않는 정적 시나리오에서 캐싱은 비디오 메모리를 절약 하기 때문에 이점을 제공 하지 않습니다.In static scenarios, where neither the contents nor the use of the brush in the scene is changing, not caching provides a benefit because it conserves video memory. 정적 콘텐츠가 포함 된 브러시를 정적이 지 않은 방식으로 사용 하는 경우 WPF의 기본 동작은 콘텐츠가 변경 되지 않은 경우에도 모든 프레임에 브러시의 모든 콘텐츠를 다시 렌더링 하는 것입니다.When a brush with static content is used in a non-static way, the default behavior of WPF is to re-render all the content of the brush every frame, even though the content is unchanging. 예를 들어,이 동작이 발생 하는 정적 DrawingBrush 또는 VisualBrush 회전 3D 개체 표면에 매핑되어 있습니다.For example, this will happen when a static DrawingBrush or VisualBrush is mapped to the surface of a rotating 3D object. 정적 콘텐츠를 다시 렌더링 성능에 부정적인 영향을 줄이 있습니다.Re-rendering the static content can have a negative impact on performance.

CachingHint브러시의 연결 된 속성을로 설정 하면 Cache 바둑판식 브러시 개체의 캐시 된 버전을 사용 하 여 성능을 향상 시킬 수 있습니다.By setting the CachingHint attached property of the brush to Cache, you can increase performance by using cached versions of the tiled brush objects.

CacheInvalidationThresholdMinimumCacheInvalidationThresholdMaximum 속성 값은 크기 TileBrush 변경으로 인해 개체가 다시 생성 되어야 하는 시기를 결정 하는 상대 크기 값입니다.The CacheInvalidationThresholdMinimum and CacheInvalidationThresholdMaximum property values are relative-size values that determine when the TileBrush object should be regenerated because of changes in scale. 예를 들어 CacheInvalidationThresholdMaximum 속성이 2.0로 설정 된 경우에 대 한 캐시는 TileBrush 크기가 현재 캐시 크기의 2 배를 초과할 때만 다시 생성 해야 합니다.For example, when the CacheInvalidationThresholdMaximum property is set to 2.0, the cache for the TileBrush needs to be regenerated only when its size exceeds two times the size of the current cache.

코드에서이 속성에 액세스 하려면 GetCachingHint 및 메서드를 사용 SetCachingHint 합니다.To access this property in code, use the GetCachingHint and SetCachingHint methods.

종속성 속성 정보Dependency Property Information

식별자 필드Identifier field CachingHintProperty
메타 데이터 속성 설정 trueMetadata properties set to true 없음None

적용 대상

추가 정보