Export (0) Print
Expand All

BitmapCache Class

Represents the behavior of caching a visual element or tree of elements as bitmap surfaces. This can yield significant performance improvements for some scenarios.

Namespace:  System.Windows.Media
Assembly:  System.Windows (in System.Windows.dll)

public sealed class BitmapCache : CacheMode
<BitmapCache .../>

The BitmapCache type exposes the following members.

  NameDescription
Public methodSupported by Silverlight for Windows PhoneBitmapCacheInitializes a new instance of the BitmapCache class.
Top

  NameDescription
Public propertySupported by Silverlight for Windows PhoneDispatcherGets the Dispatcher this object is associated with. (Inherited from DependencyObject.)
Public propertySupported by Silverlight for Windows PhoneRenderAtScaleGets or sets the scale at which the object is rendered on the cached bitmap surface. Use this property for cached objects that are scaled to improve performance.
Top

  NameDescription
Public methodSupported by Silverlight for Windows PhoneCheckAccessDetermines whether the calling thread has access to this object. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows PhoneClearValueClears the local value of a dependency property. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows PhoneEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows PhoneFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneGetAnimationBaseValueReturns any base value established for a Silverlight dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows PhoneGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneGetValueReturns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.)
Protected methodSupported by Silverlight for Windows PhoneMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneReadLocalValueReturns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows PhoneSetValueSets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.)
Public methodSupported by Silverlight for Windows PhoneToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Public fieldStatic memberSupported by Silverlight for Windows PhoneRenderAtScalePropertyIdentifies the RenderAtScale dependency property.
Top

In order to enable caching, you must enable composition caching at the plug-in level by setting the value of an EnableGPUAcceleration param element to true as part of the object tag that declares the Silverlight plug-in.

Using cached composition, you can cache visual elements as bitmaps after the first time they render. Once an object or tree of objects has been cached as a bitmap, it no longer goes through the render phase as the application refreshes, rather, just the cached bitmap is rendered. Such cached bitmap swapping can take advantage of hardware acceleration from the user’s GPU, which can yield significant performance improvements for some scenarios. To use hardware acceleration in Silverlight effectively, you should understand how Silverlight uses hardware acceleration and cached composition in its architecture and rendering pipeline, and which Silverlight objects can benefit under hardware acceleration/cached composition. For more information, see Silverlight Hardware Acceleration.

NoteNote:

Out-of-browser applications do not have editable hosting HTML. To enable GPU acceleration for an out-of-browser application, set the attribute EnableGPUAcceleration to true on the OutOfBrowserSettings element that you declare in your Deployment XAML file.

Note   Silverlight for Windows Phone has different hardware considerations for its graphics support. For more information, see Graphics in Silverlight for Windows Phone.

Before you can use the CacheMode property and a BitmapCache value, you must enable the GPU acceleration feature at the plug-in level (in the HTML) by setting the value of an EnableGPUAcceleration parameter to "true".

<param name="EnableGPUAcceleration" value="true" />

The following XAML uses a BitmapCache to set CacheMode for a MediaElement.

<MediaElement>
  <MediaElement.CacheMode>
    <BitmapCache RenderAtScale="4"/>
  </ MediaElement.CacheMode>
</MediaElement>

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions

Show:
© 2014 Microsoft