BitmapCache Class
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Represents the behavior of caching a visual element or tree of elements as bitmap surfaces. This can yield significant performance improvements for some scenarios.
Inheritance Hierarchy
System.Object
System.Windows.DependencyObject
System.Windows.Media.CacheMode
System.Windows.Media.BitmapCache
Namespace: System.Windows.Media
Assembly: System.Windows (in System.Windows.dll)
Syntax
'Declaration
Public NotInheritable Class BitmapCache _
Inherits CacheMode
public sealed class BitmapCache : CacheMode
<BitmapCache .../>
The BitmapCache type exposes the following members.
Properties
Name | Description | |
---|---|---|
Dispatcher | Gets the Dispatcher this object is associated with. (Inherited from DependencyObject.) | |
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
Methods
Name | Description | |
---|---|---|
CheckAccess | Determines whether the calling thread has access to this object. (Inherited from DependencyObject.) | |
ClearValue | Clears the local value of a dependency property. (Inherited from DependencyObject.) | |
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
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.) | |
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.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
GetValue | Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ReadLocalValue | Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.) | |
SetValue | Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
Remarks
In order to enable caching, you must enable composition caching at the plug-in level by setting the value of an EnableGPUAccelerationparam 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: |
---|
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. |
Examples
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>
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also