erlug
[Top] [All Lists]

Re: [Erlug] eliminare ritardo in pulseaudio

To: ERlug - Lista Pubblica <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] eliminare ritardo in pulseaudio
From: Thomas Fossati <tho@xxxxxxxxxxxxx>
Date: Sat, 9 Jul 2011 17:24:29 +0200
On Jul 9, 2011, at 3:21 PM, Davide Alberani wrote:
> Questa mi sa che è roba da cintura nera di pulseaudio.
> Che è qualcosa di non troppo dissimile da "esperti
> in odontoiatria senza anestesia su orsi grizzly", ma ok...
> 
> Prendete un file breve, tipo /usr/share/sounds/ubuntu/stereo/bell.ogg
> che dura 0.2 secondi.
> Fatene il play con un qualsiasi arnese da riga di comando (ogg123,
> play, ...) misurando il tempo reale di esecuzione:
>  time ogg123 /usr/share/sounds/ubuntu/stereo/bell.ogg
> 
> A me dà invariabilmente tempi sopra i due secondi, su
> un sistema privo di carico.
> Questo con qualsiasi player e pure trasformandolo in mp3
> o wav.
> Il che mi fa pensare che il simpatico pulseaudio introduca
> di propria sponte un ritardo, almeno sui file molto brevi (in
> effetti dovrei provare con file più lunghi).

un po' di latenza (da quando play legge il file a quando la scheda lo spara 
fuori) e` proprio fisiologica: time ti sta dicendo quello, credo -- i.e. real > 
2s.

in piu` c'e` il costo fisso di inizializzazione del driver, dei buffer di 
scambio, dei parametri relativi all'encoding audio, ecc.

e` proprio drammatico il ritardo che misuri ?  perche' ridurlo non e` proprio 
semplicissimo: bisognerebbe aumentare il numero di interrupt che la scheda 
genera durante la traversata del buffer hw, stando pero` attenti a non generare 
underrun perche' la applicazione non gli sta dietro (e linux non e` un RTOS, 
quindi di qui non si esce).

l'unico consiglio che ti posso dare e` di giocare un po' con aplay (variando 
'--{period,buffer}-{size,time}=...') e vedere cosa ne tiri fuori.

auguri :-)

<Prev in Thread] Current Thread [Next in Thread>