X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=_manual%2F19_synchronization%2F02_latency-and-latency-compensation.html;h=9954e0da1f4be2e717ce6007c9982a5361753b10;hb=1bd3bf29ce5d6d5403abd4d00eff5d5d2aa07aeb;hp=c478a5c1281210edfb626bd59c8fb01408717ceb;hpb=e7b78767392c9f7d705799ff94724dd6d2a21a71;p=ardour-manual diff --git a/_manual/19_synchronization/02_latency-and-latency-compensation.html b/_manual/19_synchronization/02_latency-and-latency-compensation.html index c478a5c..9954e0d 100644 --- a/_manual/19_synchronization/02_latency-and-latency-compensation.html +++ b/_manual/19_synchronization/02_latency-and-latency-compensation.html @@ -1,29 +1,30 @@ --- layout: default title: Latency and Latency-Compensation +menu_title: About Latency ---

Latency

-When speaking about synchronization, there is no way around also mentioning Latency: -Latency is how you call the reaction time of a system to a certain stimulus. There are many factors that contribute to the total latency of a given system. -In order to achieve exact time synchronization all sources of latency need to be take into account and compensated for. +When speaking about synchronization, it is also necessary to speak of latency. +Latency is a system's reaction time to a given stimulus. There are many factors that contribute to the total latency of a system. +In order to achieve exact time synchronization all sources of latency need to be taken into account and compensated for.

-

Figure 1: Latency chain

-

Figure 1: Latency chain. The numbers are an example for a typical PC. With professional gear and an optimized system the total roundtrip latency is usually lower. The important point is that latency is always additive and a sum of many independent factors.

+

Latency chain

+

Figure: Latency chain. The numbers are an example for a typical PC. With professional gear and an optimized system the total roundtrip latency is usually lower. The important point is that latency is always additive and a sum of many independent factors.

There is not much that can done about the first two other than using headphones or sitting near the loudspeaker and buying quality gear. @@ -44,30 +45,22 @@ But this division is an implementation detail of no great interest. What really

-It is important to note that processing latency in a jackd is a matter of choice: It can be lowered within the limits imposed only by the hardware and audio driver. But the lower it is, the more likely the system will fail to meet its processing deadline and the dreaded xrun will make its appearance more often, leaving its merry trail of clicks, pops and crackles. +It is important to note that processing latency in a jackd is a matter of choice: It can be lowered within the limits imposed only by the hardware (audio-device, CPU and bus-speed) and audio driver. Lower latencies increase the load on the computer-system because it needs to process the audio in smaller chunks which arrive much more frequently. The lower the latency, the more likely the system will fail to meet its processing deadline and the dreaded xrun (short for buffer over-run and buffer under-run) will make its appearance more often, leaving its merry trail of clicks, pops and crackles.

-The digital I/O latency is usually negligible for integrated or PCI audio devices but for USB or FireWire interfaces the bus clocking and buffering can add some milliseconds. +The digital I/O latency is usually negligible for integrated or PCI audio devices but for USB or FireWire interfaces the bus clocking and buffering can add some milliseconds.

-The JACK Audio Connection Kit has a few parameters to configure the latency. However the settings are constrained by hardware (audio-device, CPU and bus-speed). Lower latencies increase the load on the computer-system (it needs to process the audio in smaller chunks which arrive much more frequently). If the system can not keep up: an x-run (short for buffer over-run and buffer under-run) occurs which usually results in audible clicks or dropouts. +Low-latency is not always a feature you want to have. It comes with a couple of drawbacks: the most prominent is increased power-consumption because the CPU needs to process many small chunks of audio-data, it is constantly active and can not enter power-saving mode (think fan-noise). Furthermore, if more than one application (sound-processor) is involved in processing the sound, each of these needs to run for a short, well defined time for each audio-cycle which results in a much higher system-load and an increased chance of x-runs. Reliable low-latency (≤10ms) on GNU/Linux can usually only be achieved by running a realtime-kernel.

-Low-latency is not always a feature you want to have. It comes with a couple of drawbacks: the most prominent is increased power-consumption because the CPU needs to process many small chunks of audio-data, it is constantly active and can not enter power-saving mode. Furthermore, if more than one application (sound-processor) is involved in processing the sound, the operating system performs a context-switch to run each of these for each audio-cycle which results in a much higher system-load and an increased chance of x-runs. -

- -

-Reliable low-latency (≤10ms) on GNU/Linux can usually only be achieved by running realtime-kernel. -

- -

-Yet there are only few situations where a very low-latency is really important, because they require very quick response from the computer. Some examples that come quickly to mind are: +Yet there are a few situations where a low-latency is really important, because they require very quick response from the computer.