最適化の対象決定

パフォーマンスを向上する方法によっては、向上効果がユーザーに認識されない場合があります。重要なのは、当該アプリケーションで実際に問題となる領域について集中的なパフォーマンス最適化を施すことです。パフォーマンスの最適化方法の中にはベストプラクティスとして一般的に通用し、常に使用できるものもありますが、そうでない最適化方法については、アプリケーションの要件と想定されるユーザーベースによって、有益な場合とそうでない場合があります。例えば、アニメーション、ビデオ、またはグラフィックフィルタや効果を使用しなければ、アプリケーションは常に優れたパフォーマンスを発揮できます。しかし、Flash Platform を使用してアプリケーションを構築する理由の 1 つは、表現力が豊かなアプリケーションを作成できるメディアとグラフィックの機能があるからです。アプリケーションに求めるリッチな表現力の程度と、そのアプリケーションを実行するコンピューターおよびデバイスのパフォーマンス特性が合っているかどうかを考えてください。

一般的なアドバイスの 1 つは、「早期に最適化しないこと」です。パフォーマンスの最適化方法によっては、読み取りが困難になり、柔軟性が低下する方法でコードを作成する必要があります。このようなコードでは、一度最適化すると、保守が困難になります。多くの場合、そうした種類のパフォーマンス最適化は早期に実行せず、コード内のどのセクションにパフォーマンスの問題があるかを見極めてから行うほうが有効です。

パフォーマンスの改善には、トレードオフが伴うこともあります。アプリケーションのメモリ消費量を減らすことが、そのままアプリケーションのタスク実行速度向上にもつながれば理想的です。ただし、このような理想的な改善が常に可能とは限りません。例えば、操作中にアプリケーションがフリーズする場合、解決するには、複数のフレームで実行するように作業の分割が必要になることがあります。作業を分割すると、全体的なプロセスの実行時間は長くなりがちです。しかし、アプリケーションが入力に対して応答し続け、フリーズしなければ、時間がかかっていることにユーザーは気が付かない可能性があります。

最適化する内容、および最適化が有効かどうかを把握するには、パフォーマンステストを実行する方法があります。パフォーマンステストのテクニックとヒントについては、 ベンチマークおよびデプロイ でいくつか説明されています。

そのアプリケーションにおいて最適化の検討対象とする領域を判断する方法について詳しくは、次のリソースを参照してください。