Jack mengharuskan Anda - pengguna yang berpengetahuan - untuk mengkonfigurasi server untuk menentukan latensi pemrosesan serendah mungkin untuk mesin Anda. (Memproses latensi adalah waktu yang diperlukan server untuk memindahkan data ke / dari aplikasi klien dan kemudian mengirim / menerima "potongan" sampel audio berikutnya di luar sistem.) Jack akan mengirimkan potongan-potongan data audio tersebut tepat waktu, atau itu akan gagal dan memberi Anda buffer underrun (kadang-kadang disebut "putus", atau muncul dan klik). Jika Jack secara konsisten mendapatkan underruns maka tugas Anda adalah me-restart server dengan pengaturan yang berbeda, atau mengubah sesuatu di aplikasi klien untuk membuatnya lebih efisien sehingga Anda dapat memenuhi tenggat waktu audio Anda. Karena pengaturan server Anda berlaku seragam untuk semua klien, Jack cukup berguna untuk merutekan audio di antara beberapa aplikasi audio dan mendapatkan hasil yang dapat diprediksi . (Yaitu, itu seperti memasukkan "jack" ke berbagai komponen audio.)
Pulse dirancang untuk meminimalkan berapa kali audio keluar karena server tidak memenuhi tenggat waktu untuk mengirim / menerima audio di luar sistem. Tampaknya mencoba melakukan ini dengan memilih buffer besar untuk aplikasi klien yang tidak meminta latensi pemrosesan rendah , kemudian "menyuntikkan" sampel ke buffer itu untuk aplikasi klien yang memiliki tenggat waktu lebih cepat. Jika mencoba menyuntikkan sampel dengan sangat cepat sehingga tidak memenuhi tenggat waktu dan menyebabkan underrun, Pulse akan secara otomatis menambah jumlah waktu terpendek yang memungkinkan klien mengirim pembaruan audio ke server. Dokumen pulsa secara eksplisit menyatakan bahwa latensi sangat rendah - katakanlah, kurang dari 10 ms latensi pemrosesan- bukan tujuan desain. Mengingat bahwa Linux itu sendiri (dan mungkin perangkat keras Anda) tidak dirancang untuk penjadwalan audio secara waktu nyata, saya akan cenderung mempercayainya.
Dalam hal konfigurasi pengguna, Pulse adalah "ringan". (Orang mungkin mengatakan Pulse memiliki latensi konfigurasi rendah , sesuatu yang sayangnya banyak aplikasi Audio Linux tampaknya mengabaikan.) Dalam hal kompleksitas yang mendasarinya dibandingkan dengan Jack, Pulse adalah "gemuk".
Untuk mendapatkan jawaban pasti yang lebih cepat, Anda hanya perlu mendapatkan perangkat loopback dan mengukur latensi bolak- balik pada sistem Anda sendiri untuk mengetahui kebenarannya. Latensi pulang-pergi adalah waktu yang diperlukan sistem Anda untuk memproses audio dan menerima apa yang diproses kembali ke dalam sistem. Ada tutorial online yang menjelaskan cara melakukan ini di Linux. Itu akan memberi Anda gambaran tentang apa yang sebenarnya Anda kejar, yaitu latensi yang dirasakan - waktu yang diperlukan sejak Anda memicu suatu peristiwa (misalnya, memetik senar gitar) hingga saat pertama kali Anda mendengar suara yang menghasilkan (misalnya, mendengarkan akord gitar).
Akhirnya, ingatlah bahwa baik Pulse maupun Jack berada di atas ALSA di sebagian besar distribusi GNU / Linux. Saya tahu Anda hanya bertanya tentang Jack vs. Pulse. Tetapi jika Anda menggunakan satu aplikasi audio yang dapat terhubung langsung ke ALSA, tidak ada cara yang mungkin bahwa menambahkan Pulse atau Jack akan membuat Anda merasakan latensi yang lebih rendah daripada ALSA saja. Karena itu, baik Pulse maupun Jack "gemuk".
tldr; ALSA sendiri adalah yang tercepat, Jack berguna untuk menggabungkan beberapa aplikasi audio, dan Pulse mungkin paling mudah digunakan ketika Anda tidak peduli dengan latensi yang sangat rendah. Abaikan dokumentasi atau diskusi apa pun yang menggunakan istilah latensi tanpa menjelaskan jenis latensi yang dimaksud. (Sayangnya, baik entri resmi Jack docs dan blog Lennart tentang Pulse termasuk dalam kategori ini.)
Catatan : Mungkin ada kasus tepi di mana Anda ingin menggunakan aplikasi audio tunggal dan memiliki antarmuka ALSA payah dan antarmuka Jack yang layak. Dalam hal itu menggunakan Jack dapat membuat Anda latensi lebih rendah. Tetapi jika kita berbicara tentang aplikasi yang dirancang untuk meminimalkan latensi, kasus-kasus tersebut seharusnya jarang. Tetapi lakukan menghubungkan perangkat loopback dan menguji hipotesis saya!