Какова настройка приоритета процесса в режиме реального времени?
Из того, что я читал в прошлом, вам не рекомендуется программно изменять приоритет ваших приложений Windows, и если вы это сделаете, вам никогда не следует менять их на "В реальном времени".
Что делает настройка приоритета процесса "Реальное время" по сравнению с "Высоким" и "Выше нормального"?
![enter image description here]()
Ответы
Ответ 1
Нить приоритета в реальном времени никогда не может быть предотвращена прерываниями таймера и работает с более высоким приоритетом, чем любой другой поток в системе. Поскольку такой связанный с процессором поток приоритетов в реальном времени может полностью разрушить машину.
Создание потоков приоритета в реальном времени требует привилегии (SeIncreaseBasePriorityPrivilege), поэтому это может быть сделано только администратором.
Для Vista и за ее пределами одним из вариантов для приложений, которые требуют, чтобы они выполнялись в приоритетах в реальном времени, является использование Служба планировщика мультимедийных классов (MMCSS ) и пусть он управляет приоритетом ваших потоков. MMCSS не позволит вашему приложению использовать слишком много процессорного времени, поэтому вам не нужно беспокоиться о том, чтобы танкить машину.
Ответ 2
Просто класс приоритета "В реальном времени" выше класса приоритетов "Высокий". Я не думаю, что там гораздо больше. О да, вы должны иметь SeIncreaseBasePriorityPrivilege
, чтобы поместить поток в класс Real Time.
Windows иногда повышает приоритет потока по разным причинам, но не увеличит приоритет потока в другом классе приоритета. Это также не повысит приоритет потоков в классе приоритетов в реальном времени. Таким образом, поток с высоким приоритетом не получит никакого автоматического временного повышения в классе приоритетов реального времени.
Руссинович "Внутри Windows" глава о том, как Windows обрабатывает приоритеты, - отличный ресурс для изучения того, как это работает:
Обратите внимание, что нет абсолютно никаких проблем с потоком, имеющим приоритет в реальном времени в обычной системе Windows, - они не обязательно для специальных процессов, запущенных на машинах dedicatd. Я полагаю, что для мультимедийных драйверов и/или процессов могут потребоваться потоки с приоритетом в реальном времени. Однако такой поток не должен требовать большого количества CPU - он должен блокировать большую часть времени, чтобы нормальные системные события могли обрабатывать.
Ответ 3
Это будет самый высокий доступный параметр приоритета и обычно будет использоваться только в поле, предназначенном для запуска этой конкретной программы. Он на самом деле достаточно высок, чтобы он мог вызвать голод на клавиатуре и мышиных потоках в той степени, в которой они перестали отвечать.
Итак, если вам нужно спросить, не используйте его:)
Ответ 4
В режиме реального времени это класс с наивысшим приоритетом, доступный для процесса. Поэтому он отличается от "Высокого" тем, что он на один шаг больше, и "Выше Нормальный" тем, что он на два шага больше.
Аналогично, в режиме реального времени также есть уровень приоритета потока.
Класс приоритета процесса повышает или понижает все эффективные приоритеты потоков в процессе и поэтому считается "базовым приоритетом".
Итак, процесс имеет:
- Класс приоритета базового процесса.
- Индивидуальные приоритеты потока, смещения базового класса приоритета.
Так как предполагается, что в режиме реального времени зарезервированы приложения, которые абсолютно должны упредить другие запущенные процессы, существует специальная привилегия безопасности для защиты от случайного ее использования. Это определяется политикой безопасности.
В NT6 + (Vista +) использование планировщика классов мультимедиа Vista - это правильный способ добиться операций в реальном времени в том, что не является оперативной ОС. Он работает, по большей части, хотя и не идеален, поскольку ОС не предназначена для операций в реальном времени.
Microsoft считает этот приоритет очень опасным, справедливо. Ни одно приложение не должно использовать его, кроме как в особых обстоятельствах, и даже тогда попытаться ограничить его использование во временные потребности.
Ответ 5
Как только Windows узнает, что программа использует более высокий приоритет, кажется, что она ограничивает приоритет процесса.
Установка приоритета из IDLE в REALTIME НЕ меняет использование ЦП.
Я нашел на своем многопроцессорном процессоре AMD, что, если я отброшу один из процессоров, как LAST, использование процессора будет MAX OUT, а последний CPU останется бездействующим. Скорость процессора увеличивается до 75% на моей Quad AMD.
Используйте Диспетчер задач → выберите процесс- > Щелкните правой кнопкой мыши процесс- > Выбрать- > Установить аффинность
Нажмите все, кроме последнего процессора. Использование процессора будет увеличиваться до MAX на оставшихся процессорах и количество кадров, если обработка видео увеличится.
Ответ 6
В основном он выше/выше во всем остальном. Клавиатура менее важна, чем процесс реального времени. Это означает, что процесс будет учитываться быстрее, чем клавиатура, и если он не сможет справиться с этим, тогда ваша клавиатура будет замедлен.
Ответ 7
Как и все другие ответы перед реальным временем, данная программа имеет наивысший приоритет. Ничего не обрабатывается до тех пор, пока эта программа не будет обработана.
На моей машине pentium 4 я устанавливал minecraft в реальное время, так как он сильно увеличивает производительность игры, и система кажется полностью стабильной. поэтому в реальном времени это не так плохо, как кажется, просто если у вас есть многоядерный набор, привязывающий программу к определенному ядру или ядрам (просто не все из них, просто чтобы все остальное могло работать в случае реального времени набор программ зависает) и установите приоритет в реальном времени.