Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.012 c
3-47065
KAA_
2002-06-20 12:18
2002.07.15
Индекс не найден


4-47895
Alexander
2002-05-15 20:55
2002.07.15
обработка WM_LBUTTONDOWN


7-47841
Prince Charming
2002-04-06 23:01
2002.07.15
Подмена кода нажатой клавиши


3-47138
GAlexis
2002-06-24 12:03
2002.07.15
TDBGrid и TDataSource


4-47912
Girl
2002-05-11 17:43
2002.07.15
Вывод иконки на чужое окно





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский