CachingHint Перечисление

Определение

Указывает, следует ли кэшировать объекты кисти плитки.

public enum class CachingHint
public enum CachingHint
type CachingHint = 
Public Enum CachingHint
Наследование
CachingHint

Поля

Имя Значение Описание
Unspecified 0

Нет указаний на кэширование.

Cache 1

Кэшируйте объекты кисти плитки во внеэкранном буфере с помощью подсказок кэширования, указанных RenderOptions параметрами.

Примеры

В следующем примере показано, как использовать параметр указания кэширования для элемента DrawingBrush.

DrawingBrush drawingBrush = new DrawingBrush();
            
// Set the caching hint option for the brush.
RenderOptions.SetCachingHint(drawingBrush, CachingHint.Cache);

// Set the minimum and maximum relative sizes for regenerating the tiled brush.
// The tiled brush will be regenerated and re-cached when its size is
// 0.5x or 2x of the current cached size.
RenderOptions.SetCacheInvalidationThresholdMinimum(drawingBrush, 0.5);
RenderOptions.SetCacheInvalidationThresholdMaximum(drawingBrush, 2.0);
Dim drawingBrush As New DrawingBrush()

' Set the caching hint option for the brush.
RenderOptions.SetCachingHint(drawingBrush, CachingHint.Cache)

' Set the minimum and maximum relative sizes for regenerating the tiled brush.
' The tiled brush will be regenerated and re-cached when its size is
' 0.5x or 2x of the current cached size.
RenderOptions.SetCacheInvalidationThresholdMinimum(drawingBrush, 0.5)
RenderOptions.SetCacheInvalidationThresholdMaximum(drawingBrush, 2.0)

Комментарии

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

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

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

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

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