NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 2012-06-02
  • 本文字数:867 字

    阅读完需:约 3 分钟

微软发布了一篇名为《 Metro 风格 XAML 应用程序性能技巧》的白皮书,其中包含一些关于保持响应、确保流畅动画、改善启动时间、消耗较少资源等方面的建议。我们在这里进行了一些总结。

UI 相关:

动画:

  • 尽可能让动画独立(于 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

2012-06-02 08:382058
用户头像

发布了 125 篇内容, 共 35.6 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

SynVision AI: 虚拟助手的革命

Synvision.AI

人工智能 AI 智能助手 问答助手 聊天助手

PullTube for Mac(在线视频下载工具)

展初云

视频下载 Mac软件

BetterDisplay Pro for Mac(显示器校准软件)

展初云

Mac软件 BetterDisplay

Wireshark网络工具是什么?

小魏写代码

在你购买小间距led显示屏时需要注意这些事项

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏

一文看懂:5分钟玩转容器云,彻底化解业务上云烦恼

统信软件

软件测试/测试开发/人工智能丨视觉与图像识别自动化测试

测试人

人工智能 软件测试

Keyboard Maestro for mac(苹果键盘热键软件) v11.0.1完美激活版

mac

苹果mac Windows软件 Keyboard Maestro 键盘快捷键工具

AWS向量数据库Amazon OpenSearch Service使用测评

i查拉图斯特拉如是说

亚马逊云科技 向量数据库 opensearch service

Mac电脑视频剪辑Final Cut Pro激活版中文最新

胖墩儿不胖y

Mac软件 视频处理工具 视频剪辑软件 视频编辑器

统一身份认证平台之SSO建设

权说安全

单点登录

00后如何组织双十一大促看这一篇就够了! | 京东云技术团队

京东科技开发者

监控 电商大促 容灾备份 企业号11月PK榜 大促备战

Amazon EC2 新手初探:更多实例连接方式

王强

Amazon EC2 亚马逊云服务

现身说法:2023中级程序员进阶之路

伤感汤姆布利柏

程序员 程序员成长

ON1 Photo RAW 2024 for Mac(RAW照片编辑软件)

展初云

Mac 照片编辑软件

NFTScan | 11.13~11.19 NFT 市场热点汇总

NFT Research

NFT\ NFTScan nft工具

向量数据库——AI时代的基座

陈老老老板

#人工智能

达达埋点迁移京东子午线实践 | 京东云技术团队

京东科技开发者

埋点设计 企业号11月PK榜 埋点迁移 架构迁移

高效开发与设计:提效Spring应用的运行效率和生产力 | 京东云技术团队

京东科技开发者

spring 性能优化 SpringBoot启动流程 企业号11月PK榜

使用 VuePress 和 Vercel 打造个人技术博客:实现自动化部署

小白Coding日志

GitHub 个人博客 自动部署 Vuepress2.X Vercel

使用1688开放平台API接口获取商品详情信息

Noah

CSS 新特性,建议收藏!

秃头小帅oi

CSS 前端

Mac电脑屏幕录像推荐:Iris激活最新版

mac大玩家j

屏幕录制 录屏软件 Mac软件

Amazon EC2 新手初探:操作我们的实例

王强

Amazon EC2 亚马逊云服务器

解锁未来:通过数字孪生和区块链进行物联网管理

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

Navicat 基于 GaussDB 主备版的快速入门

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

关注潜在的整数越界问题 | 京东物流技术团队

京东科技开发者

spring 企业号11月PK榜 整数越界

Metro风格XAML应用程序性能技巧_语言 & 开发_Roopesh Shenoy_InfoQ精选文章