Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
shenon Гость
|
Добавлено: Пн Июл 28 2003 12:14 Заголовок сообщения: Как заставить Windows2000 выделить процессу больше времени |
|
|
Имеется некоторое приложение, которое не успевает обрабатывать данные. Однако если заглянуть в диспетчер задач, то можно увидеть, что задача занимает примерно 3 процента времени (колонка ЦП), в то время, как бездействие системы составляет 75 процентов. Увеличение базового приоритета приложения до уровня REALTIME_PRIORITY_CLASS на одном компьютере несколько улучшает ситуацию но не абсолютно. На другом компьютере даже ухудшает. Дело в том, что приложение состоит из двух трэдов - базовый тред, в котором происходит рисование окон, получение сообщений от Windows и т.д, он имеет приоритет THREAD_PRIORITY_IDLE. Второй -вычислительный тред, в котором происходит обработка данных имеет приоритет THREAD_PRIORITY_TIME_CRITICAL. При установлении приритета всего процесса до уровня REALTIME_PRIORITY_CLASS приводит к тому, что первый трэд с низким приоритетом начинает вытеснять второй, для меня наиболее важный вычислительный трэд. Если же весь процесс имеет приоритет средний, то первый трэд не вытесняет вычислительный. Кто - нибудь знает как заставить Windows выделить моему процессу больше времени. Или как заставить операционку не прерывать мою задачу в определённом участке. |
|
Вернуться к началу |
|
|
anonymous Гость
|
Добавлено: Пн Июл 28 2003 21:07 Заголовок сообщения: Re: Как заставить Windows2000 выделить процессу больше времени |
|
|
"Приоритет потока всегда относителен классу приоритета его процесса" Установка THREAD_PRIORITY_TIME_CRITICAL даёт прибавку уровня только для REALTIME_PRIORITY_CLASS (ур. 31) При другом классе приоритета процесса - ур. 15 |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Вт Июл 29 2003 06:05 Заголовок сообщения: Можно еще использовать timecriticalsection (-) |
|
|
- |
|
Вернуться к началу |
|
|
shenon Гость
|
Добавлено: Вт Июл 29 2003 08:55 Заголовок сообщения: А что это за функция - timecriticalsection, из какой она библиотеки (-) |
|
|
. |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Вт Июл 29 2003 09:01 Заголовок сообщения: Вообще-то там много функций, неправильно выразился (+) |
|
|
InitializeCriticalSection,DeleteCriticalSection, EnterCriti calSection, LeaveCriticalSection, TryEnterCriticalSection etc. |
|
Вернуться к началу |
|
|
|