title: What's the downside of bitmap caching in Silverlight 4?
body: <p>We were able to solve a high CPU usage problem by taking advantage of Silverlight's bitmap cache, as described here:</p>
  
  <ul>
  <li><a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/04/16/silverlight-3-and-gpu-acceleration.aspx" rel="nofollow noreferrer">Silverlight 3 and GPU Acceleration</a></li>
  <li><a href="http://dotnetslackers.com/articles/silverlight/Discovering-Silverlight3-Deep-Dive-into-GPU-Acceleration.aspx" rel="nofollow noreferrer">Discovering Silverlight 3 – Deep Dive into GPU Acceleration</a></li>
  </ul>
  
  <p>We added the EnableGPUAcceleration parameter to the &lt;object&gt; tag. To bring the CPU usage down to a reasonable level, we had to add CacheMode="BitmapCache" to the root visual grid for the whole app. So I'm wondering if there's any downside to relying so much on the bitmap cache. If it was always beneficial, I assume it would be enabled by default.</p>
  
  <p>I found this similar question with a good answer by AnthonyWJones:</p>
  
  <ul>
  <li><a href="https://stackoverflow.com/questions/2409184/any-reason-not-to-check-application-library-caching-and-gpu-acceleration-in-s">Any reason not to check “application library caching” and “GPU acceleration” in silverlight apps?</a></li>
  </ul>
  
  <p>So one downside is that it uses more video RAM. I guess this could make things worse for other graphics-intensive apps running at the same time. Are there any other downsides?</p>
  
  <p>If the graphics card doesn't have enough video RAM to cache everything, I assume Silverlight will degrade gracefully and will just use more CPU cycles to re-render the UI.</p>
  
  <p><br/>
  Thanks for your help,<br/>
  Richard</p>