Софт в реальном времени на ОС Windows - что считать? - PullRequest
1 голос
/ 20 сентября 2011

На что следует обращать внимание (как программному, так и аппаратному), когда мы создаем приложение Windows в режиме реального времени: задача, которая выполняется каждые XXX миллисекунд и должна выполняться в течение YYY миллисекунд. (Хотя последствия пропуска крайнего срока плохие, приложение все еще может восстановиться после пропущенного срока - отсюда и «мягкое» реальное время).

Несколько вопросов, которые уже приходят мне в голову: Есть ли параметры реестра, которые нужно изменить, на что посмотреть? Лучше использовать внешнюю видеокарту вместо встроенного видео?

Пример ожидаемого ответа: Вам следует прочитать (и отключить) Алгоритм Nagle , если вы используете TCP, так как он может задержать отправку пакета.

(возможно, это можно включить в вики сообщества)

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

Рассмотрите возможность использования Службы планировщика мультимедийных классов

Из документа

Служба планировщика мультимедийных классов (MMCSS) позволяет мультимедийным приложениям гарантировать, что их времячувствительная обработка получает приоритетный доступ к ресурсам процессора.Эта услуга позволяет мультимедийным приложениям использовать как можно больше ресурсов ЦП, не отказывая в ресурсах ЦП приложениям с более низким приоритетом

Другой доступный вариант - настроить приоритеты потоков , новам нужно быть очень осторожным, чтобы не стать агрессивным с этим.

1 голос
/ 20 сентября 2011

Аппаратно, будет ли это работать на оборудовании серверного класса? Если это так, применяются обычные шаги. Отключите гиперпоточность, турбонаддув и C-состояния процессора. Реализуйте некоторый уровень привязки к процессору в ваших критических процессах.

...