GNU/Linux >> Linux の 問題 >  >> Linux

Jack Vs Pulseaudio —どのくらい速いですか?

JackはPulseよりも高速で、レイテンシーが少ないという主張がたくさんあります。どうですか?なぜPulseはそれ自体を軽量と呼び、Jackの連中はそれを太ったと呼ぶのですか?誰かがこれらの2つのデーモンの内部を素人に分解できますか?

承認された回答:

Jackは、知識のあるユーザーが、可能な限り最小の処理レイテンシを決定するようにサーバーを構成することを要求します。 あなたのマシンのために。 (処理待ち時間は、サーバーがクライアントアプリケーションとの間でデータを移動し、システム外でオーディオサンプルの次の「チャンク」を送受信するのにかかる時間です。)ジャックは、これらのオーディオデータのチャンクを時間どおりに配信するか、失敗し、バッファアンダーラン(「ドロップアウト」またはポップと呼ばれることもあります)が発生します およびクリック )。ジャックが常にアンダーランを起こしている場合は、サーバーを別の設定で再起動するか、クライアントアプリケーションの何かを変更して効率を高め、オーディオの期限に間に合わせることがあなたの仕事です。サーバー設定はすべてのクライアントに均一に適用されるため、Jackは、複数のオーディオアプリケーション間でオーディオをルーティングし、予測可能にするのに非常に役立ちます。 結果。 (つまり、「ジャック」をさまざまなオーディオコンポーネントに接続するようなものです。)

パルスは、サーバーがシステム外でオーディオを送受信する期限に間に合わないためにオーディオがドロップアウトする回数を最小限に抑えるように設計されています。明らかに、低い処理レイテンシを要求しないク​​ライアントアプリケーション用に大きなバッファを選択することでこれを行おうとしています。 次に、期限が早いクライアントアプリケーションのサンプルをそのバッファに「注入」します。期限を過ぎてアンダーランが発生するほど早くサンプルを注入しようとすると、Pulseは、クライアントがサーバーにオーディオ更新を送信できるようにする最短時間を自動的に増やします。パルスドキュメントは、と明示的に述べています 低レイテンシ-たとえば、処理レイテンシの10ミリ秒未満 —設計目標ではありません。 Linux自体(そしておそらくあなたのハードウェア)がオーディオのリアルタイムスケジューリング用に設計されていないことを考えると、私はそれらを信じがちです。

ユーザー構成に関しては、Pulseは「軽量」です。 (Pulseの構成レイテンシは低いと言えます。 、残念ながら多くのLinux Audioアプリは明らかに無視しているものです。)Jackと比較した場合の根本的な複雑さの点では、Pulseは「太い」です。

どちらが速いかについて明確な答えを得るには、ループバックデバイスを入手して、ラウンドトリップレイテンシを測定する必要があります。 真実を知るためにあなた自身のシステムで。 往復の待ち時間 システムがオーディオを処理し、処理したものをシステムに受信するのにかかる時間です。 Linuxでこれを行う方法を説明するチュートリアルがオンラインにあります。これにより、実際に何を求めているのか、つまり知覚されるレイテンシがわかります。 —イベントをトリガーした瞬間(ギターの弦を弾くなど)から、結果として生じる音を最初に聞く瞬間(ギターのコードを聞くなど)までにかかる時間。

関連:実際のテーブルを選択するよりも、一時テーブルを選択する方が一般的に高速ですか?

最後に、PulseとJackの両方がほとんどのGNU/LinuxディストリビューションでALSAの上にあることを覚えておいてください。ジャック対パルスについてだけ質問していると思います。ただし、ALSAに直接接続できる単一のオーディオアプリケーションを使用している場合、PulseまたはJackを追加することで知覚されるレイテンシーを低くする方法は考えられません。 ALSAだけより。その意味で、パルスとジャックはどちらも「太っている」。

tldr; ALSAだけが最速で、Jackは複数のオーディオアプリケーションをチェーンするのに役立ちます。Pulseはおそらく最も簡単です 超低レイテンシーを気にしないときに使用します。 レイテンシという用語を使用するドキュメントやディスカッションは無視してください レイテンシのタイプを説明せずに。 (残念ながら、Jackの公式ドキュメントとPulseに関するLennartのブログエントリの両方がこのカテゴリに分類されます。)

:単一のオーディオアプリケーションを使用したい場合があり、それは不格好なALSAインターフェイスとまともなJackインターフェイスを備えています。その場合、Jackを使用するとレイテンシーが低くなる可能性があります。ただし、設計されたアプリについて話している場合 待ち時間を最小限に抑えるために、これらのケースはまれなはずです。しかし、ループバックデバイスを接続して、私の仮説をテストしてください!


Linux
  1. なぜScpはとても遅いのですか、そしてそれをより速くする方法は?

  2. Pulseaudioで仮想出力を作成する方法は?

  3. より速く開始するためにプログラムをプリロードする方法は?

  1. ノートパソコンのヘッドフォンジャックから音が出ない?

  2. Pulseaudioループバックレイテンシー?

  3. ウェブサイトの読み込みを速くする方法

  1. Ubuntu21.04でPipeWireAudioServiceを有効にしてPulseAudioを置き換える方法

  2. Ubuntu 18.04でPulseaudioを12.xにアップデートする方法は?

  3. この sed スクリプトを高速化するにはどうすればよいですか?