Поделиться через


RenderOptions.CacheInvalidationThresholdMaximum Присоединенное свойство

Определение

Возвращает или задает порог недопустимого значения кэша для заданного DependencyObjectзначения.

see GetCacheInvalidationThresholdMaximum, and SetCacheInvalidationThresholdMaximum
see GetCacheInvalidationThresholdMaximum, and SetCacheInvalidationThresholdMaximum
see GetCacheInvalidationThresholdMaximum, and SetCacheInvalidationThresholdMaximum

Примеры

В следующем примере показано, как использовать параметр указания кэширования для элемента 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. Он действует только в том случае, если CachingHint для свойства задано Cacheзначение .

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

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

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

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

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

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

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

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