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 参与了每一帧的绘制。
超级会员免费看
订阅专栏 解锁全文

1176

被折叠的 条评论
为什么被折叠?



