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

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

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

Элемент Ценность
Поле идентификатора CachingHintProperty
Свойства метаданных, равные свойству true Нет

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

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