BT

MetroスタイルのXAMLアプリのパフォーマンスチップス

| 作者: Roopesh Shenoy フォローする 0 人のフォロワー , 翻訳者 尾崎 義尚 フォローする 0 人のフォロワー 投稿日 2012年6月1日. 推定読書時間: 2 分 |

原文(投稿日:2012/05/30)へのリンク

Microsoftは、“Performance Tips For Metro Style XAML Apps(MetroスタイルXAMLアプリのパフォーマンスチップス)”という名前のドキュメントを公開した。これには、応答性について、安定した滑らかなアニメーション、起動時間の改善、リソース消費量の削減など、いくつかの提案が含まれている。概要は以下の通り。

UI関連 -

  • バックグラウンドスレッドを使って、UIスレッドの応答を維持する– asyncとawaitでプログラムする
  • レイアウトパスで無効なレイアウトを避ける
  • 複数のファイルを処理するときには、Windows.Storage.BulkAccess APIとWindows.Storage.StorageFolder.GetFilesAsync APIを使う
  • WinRT APIを呼び出すとき、特にホットパスのコードのときにはInteropのオーバーヘッドを意識する

アニメーション -

  • 可能な限り、アニメーションは、(UIスレッドから)独立させる
  • 過剰な描画を最小化する– たとえば、完全に隠れているエレメントは無視する、複合エレメントの代わりにレイヤオブジェクトを使用する
  • 変更/アニメーションされないエレメントの場合、キャンバスをキャッシュする
  • Animating Web Viewを避ける

起動時間 -

  • スプラッシュ画面、読み込み中ページを使って、裏でデータを読み込んでいることの認識性を向上させる
  • 起動時に必要なXAMLを最小限にする
  • エレメント数を最適化する
  • 大きく違わない場合、アセンブリを組み合わせる – ひとつのアセンブリを読み込むことは一般的に、2つの小さなものを読み込むよりも時間が短い

アプリのプロセスライフタイム -

  • 終了の前のサスペンド – アプリをサスペンドするとき、終了する前にそのデータを保存するために5秒まで待つ
  • シリアライズとデシリアライズはデータが変更されたときだけにする
  • 停止するときに可能な限り多くのメモリと、ファイルとデバイスのハンドルを解放する。それでも、復元を迅速に行えるように設計する
  • ブラシをResourceDictionaryエレメントとして、ページ間で再利用する – これでキャッシュを向上させることができる

データの表示 -

  • ビューポートの近くのオブジェクトだけを作成するといったUIの仮想化や、巨大なデータセットで、必要な時に少量の変更分だけを読み込むようにデータの仮想化を使用する
  • アイテムテンプレートセレクタを使用する

メディア -

  • 可能であれば、全画面で再生する
  • 組み込みビデオに重ねない
  • MediaElementのソースを後から設定する
  • 可能であれば、ビデオ/画像の解像度をデバイスの解像度に合わせる
  • Windows 8では、ビデオにはH.264を優先的なフォーマットにして、オーディオにはACCとMP3を推奨する。ゲームなど短いオーディオ効果ではWAVを使用する

同紙には、Microsoftによるコードサンプルによる詳細説明も含まれている。同紙でカバーされていないDirectXとXAMLの相互運用という記事も提供されている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT