Come è possibile per me ascoltare l'audio di più video diversi sul mio computer? [chiuso]


0

sto leggendo questo libro e finora, essendo nel capitolo 3, comprendo che la multiprogrammazione e il multiprocessing consentono un'esecuzione più veloce di più processi / thread esistenti. Sto leggendo tutte le loro complessità e finora ho capito tutto bene. Tuttavia viene anche detto che mentre un programma utilizza i moduli I / O, un altro programma deve attendere, implicando numerose volte che due programmi non possono utilizzare contemporaneamente i moduli I / O.

Forse lo chiedo troppo presto e questo è trattato da qualche parte più avanti nel libro, ma in questo momento - al momento - non posso fare a meno di chiedermi come posso avere, ad esempio, VLC media player e Windows Media Player che riproducono, ciascuno, diversi video su il mio computer eppure l'audio è una combinazione del suono di entrambi i video. È forse che l'esecuzione dei processi nell'I / O ha anche una sorta di timer? O forse il mio computer ha più moduli I / O (in questo caso audio / altoparlanti)? Se è così, c'è un limite? C'è da qualche parte in questo libro che posso continuare a leggere per un po '? O forse qualche sito web che lo spiega?

Risposte:


2

Ci sono alcune cose da considerare. per prima cosa, l'audio analogico è diverso dall'audio digitale che di solito viene trasmesso in streaming ad un bitrate di 48 kHz (il bitrate analogico è teoricamente infinito). se lo guardassi con maggiore frequenza (come forse 1Mhz), vedresti dei "buchi" tra i bit, e puoi usare il tempo per fare altre cose, come l'elaborazione di un secondo stream.

Seconda nota che il southbridge gestisce l'elaborazione del codec audio, quindi lo stream non ha bisogno di passare l'intera lunghezza del bus di sistema. tra il southbridge e la stessa scheda audio, gran parte dell'elaborazione viene eseguita vicino al bus sorgente (il controller superIO )

Terza nota: il southbridge ha più connessioni al controller SuperIO e il bus tra di loro (nel moderno computing) è misurato in GHz, così come il bitrate Sata.

In quarto luogo, si noti che i flussi sono un fenomeno continuo, quindi un thread che legge un flusso dal disco non "completa" nel tempo in modo che possa produrre l'esecuzione su un altro thread in modo sincrono. in questo caso l'input viene memorizzato nel buffer mentre altri thread sono in esecuzione, se il sistema non è in grado di fornire continuamente un'unità di esecuzione al thread. il sistema deve essere in grado di suddividerli a tempo, o un sistema single core non può mai riprodurre un file audio. Detto questo, la CPU non fa molto con l'elaborazione audio.

L'audio HD ad alto bitrate può stressare i bus di sistema e presentare problemi con il multithreading, mantenendo al contempo una riproduzione fluida. Windows Vista + gestisce altri servizi di streaming southbridge come il scheda di rete per garantire una riproduzione fluida, ma un sistema ben fornito senza carico significativo avrebbe pochi problemi a rendere apparentemente simultanei flussi di coppia.

così, tutto sommato, anche se il tuo sistema era limitato su moduli IO, l'audio è abbastanza lento per time-slice, si basa su hardware e bus raggruppati per evitare strozzature con altri componenti di sistema e non sottolinea l'effettivo canale IO .


Nella mia piccola conoscenza ha molto senso. Grazie!
Yokhen

2

Ci sono più moduli software che si inseriscono nel modulo del software mixer che alimenta l'hardware. Ogni applicazione mantiene una coda di dati audio non vuoti poiché il modulo del mixer combina gli ingressi per produrre un'unica uscita che guida l'hardware.


Ovunque dove posso leggere di più su questo?
Yokhen
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.