Metro风格XAML应用程序性能技巧

微软发表了同篇名叫也《Metro风格XAML应用程序性能技巧》的白皮书,其中富含有有关保障响应、确保流畅动画、改善启动时间、消耗比较少资源等地方的提议。我们在此地展开了片总。

UI 相关:

  • 行使后台线程并维持UI线程可响应 —— 使用async与await编程;
  • 免以布局处理过程中吃布局失效;
  • 使用Windows.Storage.BulkAccess与Windows.Storage.StorageFolder.GetFilesAsync
    API处理多文本;
  • 设想互操作时调用WinRT API带来的额外开销,尤其是以代码热路径(code
    hotpath)上。

动画:

  • 尽可能叫动画独立(于UI线程);
  • 极端小化覆盖——例如,完全折叠遮盖的素;使用组合元素取代分层对象;
  • 如若画布中的元素不发生改变还是没有动画效果,可以采取CacheMode将画布进行缓存;
  • 避为Web视图添加动画。

启航时:

  • 靠闪屏、启动页面、后台加载数据来加强感知;
  • 起步阶段尽可能地太小化待解析的XAML;
  • 优化要素数量;
  • 比方无最非常区别,可以合程序集——加载一个坏的程序集通常如于加载两个小之顺序集所花时间而丢。

应用程序处理生命期:

  • 在终结前进入停顿状态——一个应用程序在了前的间歇状态太多好生出5秒的时空用来存储它们的数目;
  • 只是序列化和倒序列化改动的数额;
  • 尽量在暂停状态释放尽可能多的内存;释放文件以及设备句柄。与此同时,设计时若考虑应用程序可以快速地回复状态;
  • 拿画刷创建为ResourceDictionary素以在页面中开展录取,该做法可以增强缓存效果。

表现数据:

  • 以UI虚拟化,即只有创造那些凑查看端口的靶子;使用数据虚拟化,即以小步增量的方法以需要读博好数额;
  • 使用Item模板选择器。

媒体:

  • 尽心尽力采取全屏回放;
  • 永不挂内嵌的视频;
  • 延迟设置MediaElement的媒体自;
  • 尽量匹配配视频/图像和设备中的分辨率;
  • 对Windows
    8,微软推举H.264为视频主要格式,AAC与MP3吗音频推荐格式。而当得包含短音效时(例如,在戏受),请用WAV。

微软的这篇白皮书包含了详细的讲与代码示例。不过,书中连无提及DirectX与XML互操作方面的始末,你可以阅读随即首文章加以了解。

翻看英文原文:Performance Tips For Metro Style XAML
Apps

查阅中文原文:Metro风格XAML应用程序性能技巧

发表评论

电子邮件地址不会被公开。 必填项已用*标注