WP7 App性能优化(12):检测应用程序性能(Ⅴ)
2010-12-30 23:31 MagicKing110 阅读(948) 评论(1) 编辑 收藏 举报透视填充率示例
该示例展示了平面投影、透视转换对应用程序性能的影响。设计师创建的XAML经常会包含很多的透视转换用以创建漂亮的视觉效果,但是这会影响应用程序的性能。该示例演示了透视和动画的缓存行为。不带动画的透视转换会自动缓存,因而添加动画不会进一步影响性能。然而,为不带透视转换的矩形添加动画则会影响性能。
如果你运行此示例,你会看到四个按钮:
- Add-添加一个随机的矩形
- Dlt-删除最近添加的一个矩形
- Persp-切换是否对矩形应用透视转换的开关
- Animate-切换矩形是否加动画效果的开关
要测试此示例,尝试以下操作:
- 添加几个矩形直到中间小方块的动画开始卡屏,然后点击透视按钮切换。此时会看到卡屏现象消失了,因为矩形不再缓存了。矩形和页面上的按钮及文本共享一个单独的图形表层。知道应用了透视,Silverlight自动为每个矩形放置了T:System.Windows.Media.BitmapCache,这就增加了一个会影响填充率的表层。
- 添加几个矩形直到中间小方块的动画开始卡屏。单击Animate按钮,注意到卡屏程度并没有增加。因为不带动画的透视已经自动缓存了,所以在其上添加动画不会增加任何新创建的纹理。比较在不带透视的矩形上切换动画的情况。如果除了小方块外没有应用任何透视和动画,那么你可以添加任意多的矩形也不会使方块的动画卡屏。因为这些矩形都没有缓存,他们仍然和按钮及文本共享同一个表层。然而,一旦对这些矩形应用了动画,他们就会被自动赋予一个位图缓存,那么就必须为每一个矩形的图形区域付出相应的填充率。
-------------------MagicBoy.李鹏.WindowsPhone7------------------
爱编程, 爱上网, 爱三国杀, 也爱和大家一起打DoTa!!!
不是总理, 不是委员长, 不是敏感词, 我是WinPhone7开发者!!!