Как я могу слышать аудио разных видео на моем компьютере?
Я читаю эту книгу и до сих пор, находясь в главе 3, понимаю, что мультипрограммирование и многопроцессорность позволяют быстрее выполнять несколько существующих процессов / потоков. Я читаю все их тонкости и до сих пор прекрасно все понимаю. Однако также упоминается, что, хотя программа использует модули ввода / вывода, другая программа должна ожидать, что означает, что две программы не могут использовать модули ввода / вывода одновременно.
Возможно, я спрашиваю слишком рано, и об этом говорится где-то позже в книге, но прямо сейчас - в этот момент - я не могу не задаться вопросом, как я могу иметь, скажем, VLC media player и Windows Media Player, воспроизводящие, каждый по-разному видео на мой компьютер и все же звук должен быть комбинацией звука обоих видео. Возможно ли, что выполнение процессов в I/O также имеет своего рода таймер? Или, может быть, мой компьютер имеет несколько модулей ввода / вывода (в данном случае аудио / динамик)? Если так, есть ли предел? Есть ли где-то в этой книге, на что я могу ненадолго запрыгнуть, чтобы почитать? Или, может быть, какой-то сайт, который объясняет это?
2 ответа
Есть несколько вещей, чтобы рассмотреть. Прежде всего обратите внимание, что аналоговое аудио отличается от цифрового аудио, которое обычно передается с битрейтом 48 кГц (аналоговый бит теоретически бесконечен). если бы вы смотрели на него с большей частотой (например, 1 МГц), вы бы увидели "дыры" между битами, и вы можете использовать время, чтобы делать другие вещи, такие как обработка второго потока.
Во-вторых, обратите внимание, что южный мост обрабатывает обработку аудиокодеков, поэтому поток не должен проходить по всей длине системной шины. между южным мостом и самой звуковой картой большая часть обработки выполняется вблизи шины источника ( контроллер superIO)
В-третьих, обратите внимание, что южный мост имеет несколько подключений к контроллеру SuperIO, и шина между ними (в современных вычислениях) измеряется в ГГц, как и битрейт Sata.
В-четвертых, обратите внимание, что потоки - это непрерывное явление, поэтому поток, считывающий поток с диска, не "завершается" вовремя, чтобы затем мог синхронно передать выполнение другому потоку. в этом случае ввод буферизуется во время выполнения других потоков, если система не может предоставить потоку выполнения непрерывного потока. система должна иметь возможность распределять их по времени, иначе одноядерная система никогда не сможет воспроизвести звуковой файл. Тем не менее, процессор не сильно влияет на обработку звука.
Звук высокой четкости при высоких битрейтах может создавать нагрузку на системные шины и создавать проблемы с многопоточностью при сохранении плавного воспроизведения. Windows Vista+ регулирует работу других потоковых служб южного моста, таких как сетевая карта, для обеспечения плавного воспроизведения, но хорошо настроенная система без значительной нагрузки будет иметь небольшие проблемы при визуальном отображении пары потоков одновременно.
Итак, все говорят, что даже если ваша система была ограничена модулями ввода-вывода, звук достаточно медленный, чтобы отрезать время, использует аппаратное обеспечение и шины, сгруппированные вместе, чтобы избежать узких мест с другими компонентами системы, и не подчеркивает фактический канал ввода-вывода,
Есть несколько программных модулей, которые подаются в модуль программного микшера, который подает оборудование. Каждое приложение сохраняет очередь звуковых данных непустой, так как модуль микшера объединяет входы, чтобы создать один выход, который управляет оборудованием.