31天学会Windows Phone 7开发:调试技巧

移动开发
本文是《Windows Phone 7开发31日谈》系列的第九篇文章,在前几篇文章中,我们讨论了启动器和选择器,在某些情况下没有硬件调试是十分困难的。本文,我们来谈谈调试,以及一些可供我们用来优化应用程序的工具。

在前几篇文章中,我们讨论了启动器选择器,在某些情况下没有硬件调试是十分困难的。本文,我们来谈谈调试,以及一些可供我们用来优化应用程序的工具。

Application.Current.Host.Settings

如果打开你的App.xaml文件,会看到有这样的语句:

  1. // Show graphics profiling information while debugging.  
  2. if (System.Diagnostics.Debugger.IsAttached)  
  3. {  
  4.      // Display the current frame rate counters.  
  5.      Application.Current.Host.Settings.EnableFrameRateCounter = true;  
  6.      // Show the areas of the app that are being redrawn in each frame.  
  7.      Application.Current.Host.Settings.EnableRedrawRegions = true;  
  8.      // Enable non-production analysis visualization mode,  
  9.      // which shows areas of a page that are being GPU accelerated with a colored overlay.  
  10.      Application.Current.Host.Settings.EnableCacheVisualization = true;  

这段代码打开了一些工具,当你调试时它们可以提供大量的程序中正在发生的信息。下面是一个它们各自所做的事情的摘要:

EnableFrameRateCounter

这是***一个默认被打开的工具,它允许你在程序运行时监视应用程序的帧速率。你会注意到所有这些工具都被包含在一个if语句中(Debugger.IsAttached),这是因为你并不会在最终的产品程序中使用它们。这些工具是专用于调试的。检验调试器还是解锁菜单,测试你的试用版程序这类事情的好方法。当你调试时可以打开某些东西,而在其他状态下不用去管它们。

电影业的标准是每秒24帧,你可能不需要这么多,除非是在你的程序中有复杂的动画或移动。在Wikipedia上有一篇关于“视觉暂留”( Persistence of Vision,指当人眼所看到的影像消失后,人眼仍能继续保留其影像0.1-0.5秒左右的图像的现象)的非常优秀的文章。

EnableFrameRateCounter

EnableRedrawRegions

打开这个调试设置来看看在你的应用程序中矩形会在哪儿被重绘。当打开后你可以看到被重绘的内容因为重绘区域是兰色的。在获得较低帧速率时这一点变得非常重要,你可能不知道为什么。这是因为应用程序将屏幕中的一部分进行了重绘,即使它很不明显。

EnableRedrawRegions

EnableCacheVisualization

另一种重叠色,EnableCacheVisualization向你展示页面中哪些区域使用了GPU加速功能。你可能会期待视频和动画能充分利用它,但我想你会在GPU处理图像的频率上感到惊讶。

EnableCacheVisualization

下载示例代码

以上是一些在调试程序时可用的工具的技巧介绍。下一篇,我们来讨论输入范围,以及我们所能使用的所有不同形式的屏幕键盘

原作者:Jeff Blankenburg    译者:金山崟霸

中文来源:http://www.cnblogs.com/porscheyin/archive/2010/12/22/1914082.html

英文来源:http://www.jeffblankenburg.com/2010/10/09/31-days-of-windows-phone-day-9-debugger-tips/

责任编辑:王晓东 来源: 博客
相关推荐

2012-08-02 10:16:39

Windows Pho

2012-06-13 13:01:57

Windows Pho

2012-06-11 13:08:10

Windows Pho

2012-06-12 10:43:20

Windows Pho

2012-08-01 10:26:33

Windows Pho

2012-08-16 11:31:30

Windows Pho

2012-08-09 13:39:22

Windows Pho

2012-06-06 13:48:34

Windows Pho

2012-08-13 09:56:45

Windows Pho

2012-06-07 09:33:13

Windows Pho

2012-07-24 10:15:34

Windows Pho

2012-06-19 09:31:53

Windows Pho

2012-07-13 14:41:12

2012-06-20 10:21:50

Windows Pho

2012-06-21 10:59:31

Windows Pho

2012-07-11 09:21:35

Windows Pho

2012-07-31 09:44:27

Windows Pho

2012-06-29 14:13:10

2012-08-16 10:35:50

Windows Pho

2013-07-31 13:36:07

Windows PhoVS调试技巧Windows Pho
点赞
收藏

51CTO技术栈公众号