認知パフォーマンスと実際のパフォーマンス

アプリケーションのパフォーマンスが適切かどうかの最終的な判断は、アプリケーションのユーザーによって決まります。開発者は、特定の操作にかかる実行時間や、作成されるオブジェクトのインスタンス数という点でアプリケーションのパフォーマンスを測定できます。ただし、このようなメトリクスはエンドユーザーにとって重要ではありません。ユーザーはパフォーマンスを別の基準で判断することがあります。例えば、アプリケーションはすばやく円滑に動作し、入力に対して迅速に応答しているでしょうか。また、アプリケーションがシステムのパフォーマンスに悪影響を及ぼしてはいないでしょうか。次の設問に自分で答えることにより、認知パフォーマンスを確認してください。

  • アニメーションはスムーズですか、それとも途切れ途切れですか。

  • ビデオコンテンツはスムーズですか、それとも途切れ途切れですか。

  • オーディオクリップは連続再生されますか、それとも一時停止して再開しますか。

  • 時間がかかる操作のときにウィンドウは迅速に動作しますか、それとも空になりますか。

  • 入力速度にテキスト入力は追いつきますか、それとも遅延がありますか。

  • クリックすると処理は即時に実行されますか、それとも遅延がありますか。

  • このアプリケーションの実行時に CPU のファン音は大きくなりますか。

  • ラップトップコンピュータまたはモバイルデバイスの場合、このアプリケーションを実行するとすぐにバッテリ切れになりますか。

  • このアプリケーションの実行時に、他のアプリケーションの応答速度は低下しますか。

認知パフォーマンスと実際のパフォーマンスの区別は重要です。最高の認知パフォーマンスを達成する方法は、絶対的なパフォーマンスを最速にする方法と必ずしも同じではありません。画面の更新とユーザー入力の読み取りを十分な頻度で実行できなくなるほど多量のコードは決して実行しないようにします。場合によっては、このバランスを取るために、プログラムタスクを複数のパートに分割することでパートの間で画面を更新します(詳しくは、レンダリングのパフォーマンスを参照してください。)。

ここで説明するヒントとテクニックは、実際のコード実行パフォーマンスと、ユーザーが感じるパフォーマンスの両方の改善を対象にしています。