Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Приоритет


Страницы:   1 2

Sergo ©   (2002-05-06 13:13:00) 

Как своей проге можно назначить 31 приоритет?


Sergo   (2002-05-12 11:49:00) [1]

Спасибо.


Anatoly Podgoretsky   (2002-05-12 11:41:00) [2]

SetThreadPriority


Sergo   (2002-05-12 08:16:00) [3]

Спасибо всем!
С HIGH_PRIORITY_CLASS все работает нормально.
А какую функцию нужно поставить для THREAD_PRIORITY_TIME_CRITICAL?


слон   (2002-05-10 05:23:00) [4]

Приятно посмотреть, как умные люди копья ломают


Anatoly Podgoretsky   (2002-05-09 11:11:00) [5]

Ну зя что боролся, на то и напоролся, хотел "желательно в realtime" снизь свои требования и все будет хорошо. А ты еще требовал и выше, чем REALTIME, а именно 31, то есть REALTIME+3


paul_shmakov   (2002-05-08 20:11:00) [6]

2 Sergo:
резюме: не стоит впадать в крайности - ни idle priority, ни тем более realtime не нужно ставить своему процессу. если нужно все таки повысить приоритет, то ставьте HIGH_PRIORITY_CLASS процессу и THREAD_PRIORITY_HIGHEST или THREAD_PRIORITY_TIME_CRITICAL потоку, считывающему данные с устройства.


Fellomena   (2002-05-08 15:19:00) [7]

2 Sergo © (08.05.02 08:11):
Странный ты какой-то 8)
SetPriorityClass( GetCurrentProcess(), IDLE_PRIORITY_CLASS );
Устанавливает процессубазовый приоритет равный 4, нормальный приоритет 8, т.е. если твой процесс имеет приоритет типа IDLE_PRIORITY_CLASS, то диспечер будет отдавать твоему процессу тики, только когда система "не загружена".

SetPriorityClass( GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
Устанавливает процессубазовый приоритет равный 28, максимальный приоритет 31, т.е. если твой процесс имеет приоритет типа REALTIME_PRIORITY_CLASS, то диспечер отдаёт твоему процессу всё время, получается что-то типа невытесняющей многозадачности.
И виснет всё тоже именно поэтому, т.к. система "забита" твоим процессом, т.е. у неё нет свободных ресурсов для обработки всех остальных запросов и отвиснуть она может только в случае, если твой процесс завершит работу.


Sergo   (2002-05-08 11:59:00) [8]

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


Sergo   (2002-05-08 08:11:00) [9]

>Anatoly Podgoretsky ©
Sergo © (07.05.02 11:48)
Так тогда тебе нужен REALTIME_PRIORITY_CLASS

Я поставил SetPriorityClass( GetCurrentProcess(), REALTIME_PRIORITY_CLASS);Правильно? (Вроде бы все работает).

>Fellomena
SetPriorityClass( GetCurrentProcess(), IDLE_PRIORITY_CLASS );Из приличной синусоиды делает какую то лабуду :))


Raptor   (2002-05-07 22:45:00) [10]

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


Fellomena   (2002-05-07 16:21:00) [11]


Sergo © (07.05.02 08:05)
>Asteroid ©
SetPriorityClass( GetCurrentProcess(), IDLE_PRIORITY_CLASS );
При вставке в главную форму, она начинает искажать данные :((


Это каким же это образом она начинает искажать данные?
И кстати, какие данные?


Anatoly Podgoretsky   (2002-05-07 16:17:00) [12]

Sergo © (07.05.02 11:48)
Так тогда тебе нужен REALTIME_PRIORITY_CLASS


Sergo   (2002-05-07 14:20:00) [13]

Я поставил эту функцию в FormCreate и она начала искажать графическое изображение сигнала


SPeller   (2002-05-07 11:48:00) [14]

Sergo © (07.05.02 08:05)
Ты всё сделал как они сказали ?


Sergo   (2002-05-07 11:48:00) [15]

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


Anatoly Podgoretsky   (2002-05-07 11:18:00) [16]

Не должна, если написана правильно, низкий приоритет и что то маштабное, визуальное не совместимы.


Sergo   (2002-05-07 08:05:00) [17]

>Asteroid ©

SetPriorityClass( GetCurrentProcess(), IDLE_PRIORITY_CLASS );

При вставке в главную форму, она начинает искажать данные :((


Asteroid   (2002-05-06 21:05:00) [18]

Можно и так:
SetPriorityClass( GetCurrentProcess(), IDLE_PRIORITY_CLASS );


Anatoly Podgoretsky   (2002-05-06 17:00:00) [19]

Лучше в .dpr или в главной форме


Sergo   (2002-05-06 16:31:00) [20]

>ZZ
:))
А где это выставить?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо