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

Определение

Указывает, следует ли кэшировать объекты мозаичной кисти.Specifies whether to cache tiled brush objects.

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

Поля

Cache 1

Кэшировать объекты мозаичной кисти во буфере вне экрана, используя кэшируемые подсказки, заданные параметрами RenderOptions.Cache the tiled brush objects in an off-screen buffer, using the caching hints specified by the RenderOptions settings.

Unspecified 0

Кэшируемые подсказки не заданы.No caching hints are specified.

Примеры

В следующем примере показано, как использовать параметр указания кэширования для DrawingBrush .The following example shows how to use the caching hint option for a 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)

Комментарии

По умолчанию не WPFWPF кэширует отображаемое содержимое DrawingBrush VisualBrush объектов и.By default, WPFWPF 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. Если кисть со статическим содержимым используется нестатическим образом, поведением по умолчанию WPFWPF является повторная визуализация всего содержимого кисти каждого кадра, даже если содержимое не изменяется.When a brush with static content is used in a non-static way, the default behavior of WPFWPF is to re-render the entire content of the brush every frame, even though the content is unchanging. Например, это происходит, когда статический DrawingBrush VisualBrush объект или сопоставляется с поверхностью вращающегося трехмерного объекта.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 on the brush to Cache, you can increase performance by using cached versions of the tiled brush objects.

CacheInvalidationThresholdMinimum CacheInvalidationThresholdMaximum Значения свойств и — это значения относительного размера, которые определяют, когда TileBrush объект должен быть повторно создан из-за изменения масштаба.The CacheInvalidationThresholdMinimum and CacheInvalidationThresholdMaximum property values are relative size values that determine when the TileBrush object should be regenerated due to changes in scale. Например, установив CacheInvalidationThresholdMaximum для свойства значение 2,0, кэш для нужно TileBrush будет повторно создавать только в том случае, если его размер превышает размер текущего кэша в два раза больше.For example, by setting the CacheInvalidationThresholdMaximum property to 2.0, the cache for the TileBrush only needs to be regenerated when its size exceeds twice the size of the current cache.

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

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