短い実行遅延(低レイテンシ)の実現
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/22 22:01 UTC 版)
「Ubuntu Studio」の記事における「短い実行遅延(低レイテンシ)の実現」の解説
実行遅延(レイテンシ)とは、デバイスからの入力信号をコンピュータが処理し、その処理結果を帰すまでの遅延時間のことである。コンピュータのハードウェアとしての制約がその原因であり、どれほど高性能なコンピュータだろうが、どのようなデバイスを用いた操作だろうが、大なり小なりレイテンシは発生する。 製作環境においては、例えばMIDIキーボードを押して発信した信号が音声として出力されるまでの遅延時間や、ペンタブレットによる入力が画面に描画されるまでの遅延時間がこれに該当する。実行遅延の大小は製作者のパフォーマンスに直接影響するため、可能な限り短いのが望ましい。 サウンド処理に限定すると、実行遅延の短縮は、WindowsではASIOドライバ、macOSではCore Audioドライバ(Mac OS 9以前はSound Manager)などで実現している。 ではLinuxの場合はというと、カーネルがドライバを含む構造(モノリシックカーネル)となっているため、カーネル周りを調整することで対策している。具体的には以下である。 カーネルにCONFIG_PREEMPT_RTパッチを適用したリアルタイムカーネルを利用する カーネルの設定を変更しタイマー割り込みの頻度を増やす PAMの設定を変更し、アプリケーションのカーネル・スケジューラー内での処理の優先度を変更する これらの設定はオーディオに限らずシステム全体に影響するため、多様な製作目的に合致したシステムを構築することが可能である。 リアルタイム・カーネルとは、通常のLinuxカーネルにCONFIG_PREEMPT_RTパッチを適用して、リアルタイムオペレーティングシステムとしての性能を発揮させたものである。入力信号を素早く処理することが可能となっている。そこに着目したUbuntu Studioプロジェクトチームは、リアルタイム・カーネルのパッケージをUbuntuリポジトリに提供してきた。リアルタイム・カーネルの提供は、Ubuntu Studioの最初のリリースである7.04ではなく、バージョン8.04から始まり、続く8.10ではパッチのバグなどの事情により提供が見送られたものの、9.04と9.10にて再び提供が開始された。しかしメンテンナンスの負担などの事情により、10.04以降から再び提供が中断している。 この間、CONFIG_PREEMPT_RTパッチの成果の多くがLinuxカーネルのメインラインにマージされつつあり、リアルタイムパッチを適用しなくても十分なパフォーマンスを得られるようになってきている。 これを受けてUbuntu Studioコミュニティでは、Ubuntuの標準カーネルの設定を変更しただけのlowlatencyカーネルの提供を計画している。すでに11.04向けlowlatencyカーネルのパッケージが開発者のPPAから提供され、テストが重ねられている。
※この「短い実行遅延(低レイテンシ)の実現」の解説は、「Ubuntu Studio」の解説の一部です。
「短い実行遅延(低レイテンシ)の実現」を含む「Ubuntu Studio」の記事については、「Ubuntu Studio」の概要を参照ください。
- 短い実行遅延の実現のページへのリンク