Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

Приоритет   Найти похожие ветки 

 
Sergo ©   (2002-05-06 13:13) [0]

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


 
drpass ©   (2002-05-06 14:16) [1]

А нафиг?


 
Sergo ©   (2002-05-06 14:58) [2]

А чтоб винда не отвлекалась от выполнения моей проги.


 
Anatoly Podgoretsky ©   (2002-05-06 15:08) [3]

Тебе надо не 31, а IDLE_PRIORITY_CLASS


 
Sergo ©   (2002-05-06 15:28) [4]

>Anatoly Podgoretsky ©
А это что такое?


 
ZZ   (2002-05-06 16:19) [5]

Sergo ©
>А это что такое?
Это чтоб винда не отвлекалась ... на твою прогу :)


 
Sergo ©   (2002-05-06 16:31) [6]

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


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

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


 
Asteroid ©   (2002-05-06 21:05) [8]

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


 
Sergo ©   (2002-05-07 08:05) [9]

>Asteroid ©

SetPriorityClass( GetCurrentProcess(), IDLE_PRIORITY_CLASS );

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


 
Anatoly Podgoretsky ©   (2002-05-07 11:18) [10]

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


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

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


 
SPeller ©   (2002-05-07 11:48) [12]

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


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

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


 
Anatoly Podgoretsky ©   (2002-05-07 16:17) [14]

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


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


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


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


 
Raptor ©   (2002-05-07 22:45) [16]

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


 
Sergo ©   (2002-05-08 08:11) [17]

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

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

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


 
Sergo ©   (2002-05-08 11:59) [18]

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


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

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, то диспечер отдаёт твоему процессу всё время, получается что-то типа невытесняющей многозадачности.
И виснет всё тоже именно поэтому, т.к. система "забита" твоим процессом, т.е. у неё нет свободных ресурсов для обработки всех остальных запросов и отвиснуть она может только в случае, если твой процесс завершит работу.


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

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


 
Anatoly Podgoretsky ©   (2002-05-09 11:11) [21]

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


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

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


 
Sergo ©   (2002-05-12 08:16) [23]

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


 
Anatoly Podgoretsky ©   (2002-05-12 11:41) [24]

SetThreadPriority


 
Sergo ©   (2002-05-12 11:49) [25]

Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2002.07.15;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.017 c
1-47452
diMAN
2002-06-28 17:44
2002.07.15
Работа с rtf-файлами


6-47632
Daken
2002-05-01 21:24
2002.07.15
Как получить кучу файлов


4-47869
Serd_hhc
2002-05-12 07:33
2002.07.15
Что это такое?


3-47074
Prodigy
2002-06-21 06:22
2002.07.15
Инсталятор + автоматическая настройка алиаса


3-47218
Я_Чайник
2002-06-20 06:10
2002.07.15
Дополнить таблицу