処理落ち(しょりおち)とは、コンピュータ上において、一定間隔で行われるべき処理が、様々な要因によって本来想定・期待される間隔で行われずに、動作が止まったり遅延したりする現象を指す。
概要
コンピュータが行う計算の中には、一定時間内にこなす必要仕事量が規定されるもの、また所定の時刻までに処理を全て完了することを要求されるものがある。しかしプロセッサの処理性能や入出力帯域不足によって、処理を一部省略する、あるいは処理完了時刻が遅れることでこの要求を満たせない状態になる。この状態を総称して処理落ちと呼ぶ。
リアルタイム性と処理落ちの関係
音声・動画再生のように処理落ちが再生品質の低下につながるものの、それが一定以内に抑えられていれば許容される用途がある一方、ハードリアルタイム性が要求される分野において処理落ちは許されない。
解説
動画を再生する処理を例に説明する。
アニメーションの動きのなめらかさは、画面更新の頻度(フレームレート)によって変化する。例えば、1秒間に40枚の絵で構成された10秒間の(400枚の絵で構成された)ビデオ映像を再生する際に、1秒間に20枚の絵を書き換えることしかできないコンピュータで表示を行ったとする。
この場合、ビデオ映像に含まれるすべての絵を再生しようとすると、20秒掛かってしまう。すると映像は本来の速度より遅いスロー映像となってしまう。
また、再生時間を優先しようとするならば、いくつかの絵を間引きして表示する(フレームスキップと呼ばれる)必要がある。すると10秒間で表示される絵は200枚となり、映像はコマが飛んだ(コマ落ちと呼ばれる状態の)動きの荒い映像となる。
問題とその回避手法
計算性能を原因とするもの
リアルタイムに膨大な計算を必要とする3DCGやアクションゲーム、圧縮動画の展開などにおいて特に問題となる。処理落ちが酷い場合には、エンターテイメント性そのものが損なわれてしまう場合もある。
ゲームの場合、オプションにより画面効果(爆発エフェクト、影の表示、画質など)を省く設定を行うことで、計算処理を短縮し、フレームレートが改善する場合もある。弾幕系シューティングなど、一部のゲームにおいては、あらかじめ処理落ちを前提としたゲーム設計がなされている場合がある。
入出力を原因とするもの
入出力帯域の不足や異常によって処理に必要なデータを時間内に確保できない場合にも処理落ちが発生する。
音響機器などの音声出力の分野に関しては特に音飛びと呼ばれる。CDプレーヤーでは、振動で読み取りピックアップやCDの位置がずれたり、またCDの盤面に付いた傷によってデータ読み込みが出来ないことで起こる。前者の場合、音声データを一定量まで半導体メモリにバッファリングすることで、短時間の振動であればバッファから情報を読み出して音飛びを回避できる。
持ち運びを前提としたポータブルCDプレーヤーの多くはこの機能を備えている。またiPodなどのデジタルオーディオプレーヤーでは、ハードディスクドライブに格納された圧縮音声をメモリに展開しそこから読み出す構造、あるいは上のような問題が原理的に起きないフラッシュメモリを採用することから、音飛びは極めてまれか全く発生しない。
関連項目