Język

CachingHint Wyliczenie

Definicja

Określa, czy mają być buforowane obiekty pędzla kafelków.

public enum class CachingHint
public enum CachingHint
type CachingHint = 
Public Enum CachingHint
Dziedziczenie
CachingHint

Pola

Nazwa Wartość Opis
Unspecified 0

Nie określono żadnych wskazówek dotyczących buforowania.

Cache 1

Buforuj obiekty pędzla kafelków w buforze poza ekranem przy użyciu wskazówek buforowania określonych przez RenderOptions ustawienia.

Przykłady

W poniższym przykładzie pokazano, jak użyć opcji podpowiedzi dotyczących buforowania dla 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 obiektów DrawingBrush i VisualBrush . W scenariuszach statycznych, w których nie zmienia się ani zawartość, ani użycie pędzla w scenie, 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 jest 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ść na pędzlu na Pamięć podręczną, można zwiększyć wydajność przy użyciu buforowanych wersji obiektów pędzla kafelków.

Wartości właściwości CacheInvalidationThresholdMinimum i CacheInvalidationThresholdMaximum są względnymi wartościami rozmiaru, które określają, kiedy obiekt TileBrush powinien zostać wygenerowany ponownie z powodu zmian skali. Na przykład przez ustawienie właściwości CacheInvalidationThresholdMaximum na 2.0 pamięć podręczna dla TileBrush musi być ponownie wygenerowana tylko wtedy, gdy jego rozmiar przekracza dwa razy większy rozmiar bieżącej pamięci podręcznej.

Dotyczy

Zobacz też