CachingHint Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa, czy mają być buforowane obiekty pędzla kafelków.
public enum class CachingHint
public enum CachingHint
type CachingHint =
Public Enum CachingHint
- Dziedziczenie
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.