Для авторов
Архив рассылки
Русский
English
   Путь: Panvasoft / Блог / Воспроизведение мультимедиа снижает сетевую пропускную способность Vista
[Новости] [Linux] [Windows XP] [Windows Vista] [Windows Server] [Windows 7] [Администрирование] [Сеть и интернет] [Безопасность] [Tricks & Tips] [Мультимедиа] [Железо] [Книги] [Проечее] 00:32:51, Среда, 15 Мая 2024 

|

Некоторое время назад различные форумы единогласно заговорили о снижении сетевой пропускной способности на Vista-компьютерах при воспроизведении мультимедиа-контента. Масло в огонь подбавили и Slashdot и Эдриан Кингсли-Хьюджс (Adrian Kingsley-Hughes) с Zdnet.

Многие из пользователей, отрапортовавших о существовании проблемы, четко подметили, что снижение сетевой пропускной способности при воспроизведении мультимедиа напрямую связано с механизмами, используемыми Multimedia Class Scheduler Service (MMCSS) - абсолютно новым для Windows компонентом, который подробно освещен в серии публикаций в TechNet Magazine о изменениях в ядре Windows Vista. Воспроизведение мультимедиа требует постоянного уровня потока, а при его отсутствии воспроизведение может проходить с рывками и замираниями. Служба MMCSS запускает в рамках процесса Svchost.exe, где автоматически производится распределение приоритетов для воспроизведения аудио/видео с целью предотвратить перераспределение ресурсов CPU на другие процессы:



Когда приложение начинает воспроизведение, различные мультимедийные API, используемые данным приложением, обращатся к службе MMCSS с целью повысить приоритетность потока до уровня реального времени, в который входят приоритеты с индексами от 16 до 31, и это повторяется каждые 8мсек в зависимости от того, сколько ресурсов требуется потоку. Поскольку другие потоки работают в динамическом диапазоне приоритетов с индексами ниже 15, любое – даже требовательное к ресурсам процессора – приложение никоим образом не влияет на воспроизведение.

Можно видеть скачок текущего индекса приоритета при воспроизведении аудио или видеоклипа в Windows Media Player (WMP), если запустить Reliability and Performance Monitor (Start->Run->Perfmon), выбрать Performance Monitor и добавить значение Priority Current для всех потоков Wmplayer в объекте Thread. Установите масштаб шкалы на 31 (максимальное значение приоритета в Windows) и вы не сможете не заметить поток, показанный на нижеприведенном скриншоте с приоритетом 21:



В дополнение к другим потокам, воспроизведение мультимедиа может страдать от сетевой активности. Когда система принимает сетевой пакет, происходит обращение к процессору, а драйвер устройства, которое принимает пакет, производит прерывание путем запуска Interrupt Service Routine (ISR). Прерывания, выполняемые другими устройствами, блокируются запущенной процедурой ISR, которая выполняет довольно длительную передачу данных на или с устройства через обращение Deferred Procedure Call (DPC), запускаемое с активированным прерыванием. Когда выполняется DPC с активированным прерыванием, оно получает преимущество над другими потоками независимо от приоритета, что может стать помехой потокам, воспроизводящим мультимедиа.

DPC-обработка полученных сетевых пакетов - это наиболее дорогая в смысле ресурсов процессора процедура, поскольку подразумевает передачу пакетов TCP/IP-драйверу, что на деле выливается в достаточно продолжительные вычисления. TCP/IP-драйвер выверяет каждый пакет, определяет пакетный протокол, обновляет состояние соединения, находит принимающее приложение и копирует полученные данные в буфер приложения. Нижеприведенный скриншот Process Explorer иллюстрирует, сколь существенно возрастает использование ресурсов CPU для DPC при копировании большого файла с другого компьютера:



Тесты MMCSS в ходе разработки Vista показали, что даже при активированном распределении приоритетов большие объемы сетевого траффика могут становится причиной несоответствия потоков воспроизведения требованиям, что может вызвать замирания в воспроизведении. Использованные в MMCSS механизмы, препятствующие прерыванию воспроизведения, были доработаны с целью предотвращения прерываний сетевой активностью. Была добавлена команда, которая посылается NDIS-драйверу, который передает пакеты для обработки TCP/IP-драйвером в количестве, равном 10 пакетам в миллисекунду (10000 пакетов в секунду).

Поскольку стандартный размер Ethernet-фрейма равен 1500 байтам, предел в 10000 пакетов в секунду эквивалентен пропускной способности в 15МБ/с. 100Мб-ные сети имеют пропускную способность в 12МБ/с, поэтому если вы работаете в сети 100Мбит, то вы не заметите падения пропускной способности. Однако, если вы включены в 1Гб-ную сеть, и оба - отправитель и получатель пакетов - используют 1Гб-ные адаптеры, то вы столкнетесь с 15% снижением пропускной способности сети.

Более того, в коде NDIS допущена злополучная ошибка, усугубляющая проблему при использовании нескольких NIC-карт. Если, к примеру, в вашей системе присутствуют и проводной и беспроводной адаптеры, NDIS сможет обрабатывать не более 8000 пакетов в секунду, а три адаптера сократят эту цифру до 6000 пакетов в секунду. 6000 пакетов в секунду эквиваленты пропускной способности в 9МБ/с, поэтому при такой схеме падение производительности будет заметно и в 100Мб-ной сети.

Обратите внимание на иллюстрацию падения сетевой производительности на ноутбуке с тремя сетевыми адаптерами, которое было вызвано путем копирования объемного файла с другого компьютера сети с последующим запуском WMP и воспроизведением аудиотрека. Нижеприведенный скриншот наглядно показывает, как используемые 20% пропускной способности сети падают до отметки в 6% после начала воспроизведения музыкального трэка:



Можно проконтролировать число пакетов, обработанных NDIS, путем добавления счетчика “количество пакетов, полученных за одну секунду/packets recieved per second” в объекте Network в Performance Monitor. Ниже можно видеть существенное изменение числа принятых пакетов после запуска эксперимента. Количество пакетов, обработанных NDIS, не достигает теоретического максимума в 6000.



Несмотря на подобный уровень прерывания, Интернет-трафик - даже при высокоскоростном соединении - никоим образом не пострадает. Это все благодаря многочисленности промежуточных соединений между вашей системой и иными компьютерами сети, что сокращает путь пакета и, как следствие, сокращает скорость, с которой система передает информацию.

Жестко запрограммированный лимит был непредусмотрительным шагом с нашей стороны с надеждой на современные компьютеры с быстрыми процессорами с несколькими ядрами и гигабитными сетевыми адаптерами. Но сегодня в дополнение к работам по устранению существенного падения пропускной способности на компьютерах с несколькими адаптерами, команда сетевых разработчиков Microsoft активно сотрудничает с командой MMCSS с целью снизить влияние службы на сетевой траффик, при этом сохранив устойчивость к замираниям.

Категория: Windows Vista
Источник: blogs.technet.com/markrussinovich Опубликовал: Feeder, Дата: 31.8.2007, Просмотров сегодня: 1, Просмотров всего: 20152, Рейтинг: 2.21 (Проголосовало: 14) Теги: Vista, Быстродействие

Расскажи друзьям:


Еще статьи на угад:
Гид по тонкой настройке Windows Vista
Компьютерная индустрия разочаровалась в Windows Vista
Воспроизведение мультимедиа снижает сетевую пропускную способность Vista
Windows Vista FAQ
Ещё один прогноз на популярность Windows Vista
Нелегальный KMS сервер активирует Windows Vista всем желающим
Сколько памяти требуется Windows Vista на самом деле?

Ваши комментарии:
Java Developer, development[at]gmail.com в 17.4.2024 16:06:18
Курсовой проект - полный Android JAVA проект для Android Studio коомерческого приложения - фоторегистратора с FTP клиентом Photo Web Cam
Ссылка для скачивания на веб странице. Весь проект компилируется, все библиотеки включены. Всё бесплатно.
http://vbuilder.oflameron.ru/page0003.htm
Photo Web Cam - интересное приложение, делающее фотографии по расписанию и загружающее их на веб сервер. Я использовал бесплатный хостинг wallst.ru Приложение использовалось для наблюдения за дачей.
Приложение имеет много настроек - для подключения к серверу и для фотосъёмки. При этом настройки фотокамеры в приложении не проихводятся. Используются те, что заданы в настройках телефона. Это значительно упрощает код.
http://oflameron.ru/valleryshmelevE.jpg
udrePet, hrpsevoi[at]gmail.com в 24.8.2023 07:33:48
tadalafil 10mg without doctor prescription <a href="https://tadalafilise.cyou/">cialis coupons</a> what is the price of cialis
hqxoPet, gpfwqjjj[at]gmail.com в 23.8.2023 04:55:14
tadalafil daily <a href="https://tadalafilise.cyou/">when does the cialis patent expire</a> micardis 40
knbjPet, vnngwyed[at]gmail.com в 21.8.2023 07:25:46
buy tadalis http://tadalafilise.cyou/# canada generic tadalafil
jmnpPet, hxowwchh[at]gmail.com в 20.8.2023 01:57:10
where to order tadalafil tablets http://tadalafilise.cyou/# best price usa tadalafil
Добавить свое мнение о данной программе:
Имя
Email
Сообщение:
Введите символы:
вверх страницы

  Подпишитесь на лист рассылки и стань одним из 16437, кто узнает о новых программах по почте!!

 Введтите ваш e-mail:

Подписаться
Отписаться



© 1999 - 2024 Panva Web Studio
(0.01992 секунд) Написать письмо вебмастеру