39、Windows Phone 8 开发性能优化与内存管理

Windows Phone 8 开发性能优化与内存管理

1. 重绘区域(Redraw regions)

提升 UI 性能的关键在于了解屏幕上绘制的内容以及绘制方式。重绘区域能让你看到那些使用 CPU 以软件方式绘制的 UI 元素,而非使用 GPU 以硬件方式绘制的元素。尽管 CPU 总是参与纹理的初始渲染,但应尽可能将后续帧的渲染工作转移到 GPU 上。

1.1 示例分析

示例代码中的 ExpandingEllipse 解决方案展示了重绘区域能帮助识别的问题类型。该应用包含两个通过故事板动画实现缩放的椭圆。正常运行时,两个动画看起来相同,但启用重绘区域后,差异明显。

1.2 启用重绘区域

要启用重绘区域,只需将 EnableRedrawRegions 标志设置为 true ,代码如下:

Application.Current.Host.Settings.EnableRedrawRegions = true;

此代码包含在新项目模板的 App.xaml.cs 文件中,但最初是被注释掉的。

1.3 动画差异表现

启用标志后,两个动画的差异显著。当使用 CPU 以软件方式绘制纹理时,系统会在其周围绘制彩色框,并循环使用一组颜色,使每次重绘都清晰可见。标记为 GPU 的椭圆在缩放时只有一个框,而标记为 CPU 的椭圆在缩放时会显示一系列不同颜色的重叠框,这表明 CPU 参与了每一帧的绘制。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值