This topic has not yet been rated - Rate this topic

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.

System.Object
  System.Windows.DependencyObject
    System.Windows.Media.CacheMode
      System.Windows.Media.BitmapCache

Namespace:  System.Windows.Media
Assembly:  System.Windows (in System.Windows.dll)
public sealed class BitmapCache : CacheMode
<BitmapCache .../>

The BitmapCache type exposes the following members.

  Name Description
Public method Supported by Silverlight for Windows Phone BitmapCache Initializes a new instance of the BitmapCache class.
Top
  Name Description
Public property Supported by Silverlight for Windows Phone Dispatcher Gets the Dispatcher this object is associated with. (Inherited from DependencyObject.)
Public property Supported by Silverlight for Windows Phone RenderAtScale Gets 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
  Name Description
Public method Supported by Silverlight for Windows Phone CheckAccess Determines whether the calling thread has access to this object. (Inherited from DependencyObject.)
Public method Supported by Silverlight for Windows Phone ClearValue Clears the local value of a dependency property. (Inherited from DependencyObject.)
Public method Supported by Silverlight for Windows Phone Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Supported by Silverlight for Windows Phone Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public method Supported by Silverlight for Windows Phone GetAnimationBaseValue Returns any base value established for a Silverlight dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject.)
Public method Supported by Silverlight for Windows Phone GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method Supported by Silverlight for Windows Phone GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Supported by Silverlight for Windows Phone GetValue Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.)
Protected method Supported by Silverlight for Windows Phone MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Supported by Silverlight for Windows Phone ReadLocalValue Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.)
Public method Supported by Silverlight for Windows Phone SetValue Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.)
Public method Supported by Silverlight for Windows Phone ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Public field Static member Supported by Silverlight for Windows Phone RenderAtScaleProperty Identifies 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.

Note Note:

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.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ