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

|

Некоторое время назад различные форумы единогласно заговорили о снижении сетевой пропускной способности на 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, Просмотров всего: 15992, Рейтинг: 2.25 (Проголосовало: 12) Теги: Vista, Быстродействие

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


Еще статьи на угад:
Microsoft готовится к релизу бета-версии Windows Vista SP1
Установка Windows Vista с флэш-драйва USB 2.0
10 способов заставить систему Vista работать быстрее
Оптимизация Windows Vista
Что есть в Vista, чего нет в XP?
Почему Vista может стать последней в своем роде?
Работа на Vista: Справится ли ваш процессор?

Ваши комментарии:
abartywaw, ragulttospom[at]mail.ru в 21.8.2012 22:08:59
пермь экспресс банк дельта банк в днепродзержинске постановление ипотека реквизиты сбербанка россии г москва юникредит банк баланс
Leah_Maine, shayn.ec.a.u.l.ti.c[at]gmail.com в 9.1.2012 06:13:17
I always wondered if the Manchurian Candidate – McLame – would make an appearance. I think he is a victim of Stockholm Syndrome, too.
Kimberly_North_Dakota, s.h.a.y.nec.a.ul.ti.c[at]gmail.com в 3.1.2012 08:19:43
O.K. I give up. What is your beef with Gutfeld? I think he is hilarious! He is not a serious contributor, but is there for laughs. I like him.
Camila_fromAG, qu.a.n.esha.c.l.lef[at]gmail.com в 18.12.2011 05:14:11
Is there a way use some sort of third party forum moderation to cut through this problem? Then you could go on in whatever way you are comfortable, your forums could coninue to buzz and anyone that's up to no good would hit a brick wall (or get a call from their local authorities, as appropriate). It's just a thought.
Peyton_fromAF, a.i.sh.var.i.ma.sex[at]gmail.com в 4.12.2011 07:38:47
I think greater interaction among groups would result (mix up the tech bloggers and the marketers and the VCs and the usability people and, hell, even the sex bloggers) ;) and really spark some awesome conversations.
Добавить свое мнение о данной программе:
Имя
Email
Сообщение:
Введите символы:
вверх страницы

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

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

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



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