代码改变世界

WP7 App性能优化(10):检测应用程序性能(Ⅲ)

2010-12-26 20:54  MagicKing110  阅读(1714)  评论(2编辑  收藏  举报

监视填充率

填充率是每一帧Silverlight传递给GPU构图的图形表层的像素数目。填充率实质上是GPU工作负载的一个度量。因此,应当随时了解自己的应用程序的填充率,以免其超出GPU的处理能力,而拖慢帧频。当应用程序的帧频超过2屏大小(每屏800*480)时,帧频将会开始降低。通常帧频的降低并不显著,除非填充率超过3.5屏的像素大小。可以通过观察帧频计数器的最后一个数字来判断当前帧频。重要的是要记住,UI线程的帧频永远不可能超过构图线程的帧频,因此如果填充率过高,将会影响应用程序的整体性能

 

影响填充率的因素

每一个需要纹理的图形对象都会影响应用程序的填充率。纹理的像素数越多,填充率也越高。通常,影响填充率的有两个主要的因素。首先是基础表层,就是每一个未缓存对象周围的矩形。其次是缓存的所有元素,包括构图线程自动缓存的纹理,和开发者通过设置元素的位图缓存而缓存的元素。除了构图线程缓存的纹理,以下是其他一些自动缓存的元素.

推荐帧频和填充率

以下表格列出了在应用程序性能调优时要考虑的下限值、推荐值和上限值。要注意的是这些数值必须在真实的Windows Phone设备上测试,因为模拟器的性能是可变的。当没有动画更新UI时,帧频计数器有时会变为0。如果想在任何时候都看到数值,可以在开发测试期间在程序中添加一个不断循环的简单动画。在准备发布程序时可以将这个动画移除。

计数器

下限

推荐值

上限

Composition Thread Frame Rate

30 Frames/Second

60 Frames/Second

120 Frames/Second

UI Thread Frame Rate

30 Frames/Second

120 Frames/Second

120 Frames/Second

Screen Fill Rate

1.5

Less than or equal to 2.5

3.0

转到:WP7 App性能优化(0):索引页