Автоматическое тестирование задержки DPC - как?

Для мультимедийных задач в реальном времени низкая задержка важна. Стабильное низкое значение задержки позволяет использовать компьютер для того, чтобы сделать музыку, например.

Насколько я знаю, под системами Windows существует вещь задержки DPC, это довольно крайне важно для обеспечения устойчивости задержки. Можно читать больше об Отложенных вызовах процедуры здесь: http://en.wikipedia.org/wiki/Deferred_Procedure_Call.

Поскольку можно читать на веб-сайте Thescyon,

Если какой-либо драйвер устройства привилегированного режима в Вашей системе Windows будет реализован неправильно и вызовет чрезмерные задержки Отложенных вызовов процедуры (DPCs) затем, вероятно, то выпадения сигнала произойдут при использовании приложений потоковой передачи аудио или потоковой передачи видео в реальном времени.

Они обеспечивают простой инструмент для проверки этого, которое тянет график задержки. Когда Вы хотите протестировать компьютер Windows на про аудио, необходимо выполнить это средство проверки задержки DPC и подчеркнуть компоненты, которые могли вызвать проблемы. Например, когда я тестирую ноутбуки, я проверяю то, что происходит с задержкой когда Вы

  • переключите релейную беспроводную связь или используйте беспроводное соединение
  • вставьте карту памяти в картридер
  • скорректируйте яркость экрана (ACPI-связанные вещи могут вызвать реальную путаницу...),

и так далее.

Мой вопрос, что я должен сделать, если я хочу проверить вышеупомянутое автоматически? Я хотел бы разработать инструмент, который мог протестировать это и генерировать отчет, таким образом, мы могли протестировать много конфигураций в скором времени. (Мои проблемы: Я не знаю, как измерить задержку DPC и как автоматизировать управление яркости из кода и т.д.),

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

Поддерживайте этот вопрос повысить осведомленность DPC - мы действительно должны позволить производителям знать, что это - реальная проблема для любого заинтересованного мультимедиа в системах Windows.

5
задан Scorchio 27 May 2010 в 12:17
поделиться

1 ответ

Есть несколько проблем с вашим Вопросом.

Прежде всего, вы не можете проверить задержку DPC.Вы можете поставить в очередь собственный DPC, а затем проверить, когда он выполнен. Или вы можете запросить время запуска всех ЦОД (я не знаю, есть ли у вас сведения о счетчике производительности для этого, или нужно ли выполнять профилирование на основе образцов).

Даже если у вас есть эта информация, она очень специфична для ситуации, в которую вы находитесь. Кроме того, есть несколько случайных факторов, которые искажают числа.

DPC ставится в очередь в глобальную очередь DPC и может быть запущен на любом процессоре. Поэтому, если у вас действительно есть длинный (работающий) DPC на одном ядре, другое ядро может свободно обрабатывать другое. Таким образом, любая информация о времени действительно зависит от количества процессоров, которые у вас есть, и от того, сколько вещей в настоящее время выполняется одновременно. Таким образом, на многоядерных процессорах эти цифры могут сильно различаться.

Даже когда у вас есть информация об одном варианте использования, это очень зависит от текущей ситуации системы. Когда он подключен к (большой) сети,для сетевых пакетов, получаемых компьютером, может быть поднято очень много небольших ЦОД. Когда вы отключите свой компьютер (или все уходят домой), этот шторм DPC внезапно останавливается.

NB: Когда у вас новый компьютер, проблема задержки DPC может быть связана с c-состояниями, в которых ваш процессор спит. Процессоры Core-iX очень быстро переходят в спящем состоянии, из которого они просыпаются очень медленно.

4
ответ дан 14 December 2019 в 13:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: