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 не кэширует отображаемое содержимое DrawingBrush и VisualBrush объекты. В статических сценариях, где ни содержимое, ни использование кисти в сцене не изменяется, кэширование не дает преимуществ, так как она экономит память видео. Если кисть со статическим содержимым используется нестатический способ, поведение WPF по умолчанию заключается в повторном отображении всего содержимого кисти каждого кадра, даже если содержимое не изменялось. Например, это произойдет, если статический DrawingBrush объект или VisualBrush сопоставлен с поверхностью вращающегося трехмерного объекта. Повторная отрисовка статического содержимого может негативно повлиять на производительность.

Задав присоединенное CachingHint свойство кисти Cache, можно повысить производительность с помощью кэшированных версий объектов плиток кисти.

Значения CacheInvalidationThresholdMinimum свойств — это значения относительного размера, определяющие, когда TileBrush объект должен быть создан из-за изменений в CacheInvalidationThresholdMaximum масштабе. Например, если CacheInvalidationThresholdMaximum для свойства задано значение 2.0, кэш необходимо TileBrush повторно создать только в том случае, если его размер превышает два раза больше текущего кэша.

Чтобы получить доступ к этому свойству в коде GetCachingHint , используйте методы и SetCachingHint методы.

Сведения о свойстве зависимостей

Поле идентификатора CachingHintProperty
Для свойств метаданных задано значение true Нет

Применяется к

См. также раздел