我对windows phone 7 silverlight应用程序中的位图缓存有疑问。
我什么时候使用它?在什么控制?我应该位缓存位图缓存的控件的子缓存吗?我不确定它是如何工作的,从你们那里得到一些建议会很好。
/理查德
答案 0 :(得分:6)
我在Silverlight 3中找到this link解释CacheMode
。从链接:
[这个链接已经死了。]
<param name="EnableCacheVisualization" value="true" />
我想知道是否可以为WP7启用EnableCacheVisualization
,我使用BitmapCache
表示LongListPicker
和ContentPresenter
(我使用动态创建的内容填充)知道缓存是否有效会很有趣。但根据第3个子弹,你应该只在你动画UIElement
时使用它,我不是,所以也许我根本不应该使用它!
答案 1 :(得分:4)
桌面PC(或Mac)上的Silverlight目前并不那么智能,因此您需要使用Praetorian在其答案中指出的指导手动在对象上手动指定CacheMode = BitmapCache。
可能存在边缘情况,即使在Windows Phone上显式设置BitmapCache也很有用,但我不知道它们是否随便。您可以尝试查看Windows Phone Performance Tips on MSDN。
答案 2 :(得分:1)
从我所看到/读过的内容来看,如果要在转换或动画中使用它们,您希望对渲染可能很昂贵的对象(如许多子项或复杂布局)使用位图缓存。
通过位图缓存,硬件可以更快/更顺畅地完成过渡+动画。
我想你只需要把它放在你应用变换或动画的最顶层项目/父项目上?有人会很快纠正我,我敢肯定:)