BitmapCache?何时以及如何使用?

Ric*_*ard 9 c# silverlight windows-phone-7

我对windows phone 7 silverlight应用程序中的位图缓存有疑问.

我应该什么时候使用它?在什么控制?我应该位缓存位图缓存的控件的子缓存吗?我不确定它是如何工作的,从你们那里得到一些建议会很好.

/理查德

Pra*_*ian 6

我发现此链接CacheMode在Silverlight 3中解释.从链接:[此链接已死.]

  • BitmapCache是​​唯一受支持的缓存模式.
  • 缓存应用于元素及其所有子元素.
  • BitmapCaching应该用于混合,转换(平移,拉伸,旋转)的场景中.
  • 滥用CacheMode功能会损害性能,因此您需要真正思考自己在做什么.如果您的可视化树正在交错缓存和未缓存的元素,则实际上会导致在幕后创建多个渲染表面.未缓存的表面在软件中呈现,缓存的表面在硬件中呈现.如果您可以最小化渲染表面的总数并使硬件尽可能地工作,那么您的性能将是最佳的.
  • 您可以通过将EnableCacheVisualization参数添加到Silverlight插件声明来确定要缓存的元素. <param name="EnableCacheVisualization" value="true" />
  • 据我所知,当Silverlight应用程序未处于全屏模式时,Mac上不会发生GPU加速.这显然是Safari插件模型的限制.

我想知道是否EnableCacheVisualization可以为WP7启用,我正在使用BitmapCachea LongListPicker和a ContentPresenter(我用动态创建的内容填充)并且知道缓存是否正常工作会很有趣.但根据第3个子弹,你应该只在你动画UIElement的时候使用它,我不是,所以也许我根本不应该使用它!