Udostępnij za pośrednictwem


RenderOptions.SetCachingHint(DependencyObject, CachingHint) Metoda

Definicja

Ustawia wartość dołączonej CachingHint właściwości na określonym obiekcie zależności.

public:
 static void SetCachingHint(System::Windows::DependencyObject ^ target, System::Windows::Media::CachingHint cachingHint);
public static void SetCachingHint (System.Windows.DependencyObject target, System.Windows.Media.CachingHint cachingHint);
static member SetCachingHint : System.Windows.DependencyObject * System.Windows.Media.CachingHint -> unit
Public Shared Sub SetCachingHint (target As DependencyObject, cachingHint As CachingHint)

Parametry

target
DependencyObject

Obiekt zależności, na którym należy ustawić wartość CachingHint właściwości.

cachingHint
CachingHint

Nowa wartość ustawiania właściwości na .

Wyjątki

Określona target wartość to null.

Przykłady

W poniższym przykładzie pokazano, jak użyć opcji wskazówek buforowania dla elementu 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)

Uwagi

Domyślnie WPF nie buforuje renderowanej zawartości DrawingBrush obiektów i VisualBrush . W scenariuszach statycznych, w których nie zmienia się ani zawartość ani użycie pędzla w scenie, a nie buforowanie zapewnia korzyść, ponieważ oszczędza pamięć wideo. Gdy szczotka z zawartością statyczną jest używana w sposób niestatyczny, domyślnym zachowaniem WPF jest ponowne renderowanie całej zawartości pędzla każdej ramki, mimo że zawartość jest niezmienna. Na przykład nastąpi to, gdy statyczny DrawingBrush lub VisualBrush mapowany na powierzchnię obracającego się obiektu 3D. Ponowne renderowanie zawartości statycznej może mieć negatywny wpływ na wydajność.

Ustawiając dołączoną CachingHint właściwość pędzla na Cache, można zwiększyć wydajność przy użyciu buforowanych wersji obiektów pędzla kafelków.

Wartości CacheInvalidationThresholdMinimum właściwości i CacheInvalidationThresholdMaximum są wartościami o względnym rozmiarze, które określają, kiedy TileBrush obiekt powinien zostać ponownie wygenerowany z powodu zmian skali. Na przykład gdy CacheInvalidationThresholdMaximum właściwość jest ustawiona na 2,0, pamięć podręczna dla TileBrush elementu musi zostać wygenerowana ponownie tylko wtedy, gdy jego rozmiar przekracza dwa razy rozmiar bieżącej pamięci podręcznej.

Użyj tej metody, aby ustawić dołączoną CachingHint właściwość w kodzie.

Dotyczy

Zobacz też