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

Вниз

Системное время   Найти похожие ветки 

 
Ivolg   (2004-05-30 15:49) [0]

Здрасьте! Как мона направить на мою прогу большую часть процессроного времени! Спасибо!!!!!


 
Piter ©   (2004-05-30 16:06) [1]

Поставить потокам твоего приложения приоритет повыше. Вплоть до реал тайм


 
Ivolg   (2004-05-30 18:30) [2]

Хотелось бы программно


 
Gero ©   (2004-05-30 18:31) [3]


> Хотелось бы программно

А [1] это что, аппаратно?


 
RealRascal ©   (2004-05-30 20:47) [4]

FAQ


 
Piter ©   (2004-05-30 20:53) [5]

Ivolg (30.05.04 18:30) [2]

Собственно говоря, "Менеджер задач" обычная программа, использующая обычные WinApi функции. И тебе надо использовать эти функции.

Функция SetPriorityClass устанвливает приоритет процесса.
Функция SetThreadPriority устанавливает приоритет потока внутри процесса.

Тебе наиболее важно, я думаю, первое. Вот и почитай SDK по поводу SetPriorityClass


 
Piter ©   (2004-05-30 20:59) [6]

Действительно, в FAQ есть ответ на этот вопрос.
Называется "Как увеличить процессорное время, выделяемого программе"


 
Piter ©   (2004-05-30 21:03) [7]

Единственное, что если нужно изменить приоритет своего процесса, то вместо:

ProcessID := GetCurrentProcessID;    
ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION, false, ProcessID);
SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);


Можно использовать просто:

SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);


 
Игорь Шевченко ©   (2004-05-30 21:15) [8]


> Как увеличить процессорное время, выделяемого программе


Это точная цитата ? Тогда FAQ в /dev/null надо отправлять.

Какая разница, какой приоритет у программы, Windows все равно меняет его динамически, все зависит от самой программы, и от условий, в которых она работает, в первую очередь. Вот с этого и надо начинать спрашивать у автора ветки, а не советовать про приоритеты. Влияние изменения приоритета на процессорное время, выделяемое потокам процесса - это далеко не линейная зависимость, планировщик Windows писали умные люди.


 
Piter ©   (2004-05-30 21:28) [9]

Игорь Шевченко (30.05.04 21:15) [8]

> Как увеличить процессорное время, выделяемого программе

Это точная цитата ?


да, точная.

Игорь Шевченко (30.05.04 21:15) [8]
Тогда FAQ в /dev/null надо отправлять


хм, кардинально не согласен. После выполнения инструкций FAQ"а программа действительно начнет получать больше процессорного времени, если  нуждается в нем. Если она в нем не нуждается - то очевидно, что ей оно и не будет выделено, это понятно. Если задаются вопросы про выделение большего проц. времени, то из этого следует, что текущего проц. времени не хватает. Имхо.

Игорь Шевченко (30.05.04 21:15) [8]
Какая разница, какой приоритет у программы


вы хотите сказать, что от приоритета процеса НИЧЕГО не зависит?

Игорь Шевченко (30.05.04 21:15) [8]
Windows все равно меняет его динамически


только для потоков с базовыи приоритетом не выше 15

Игорь Шевченко (30.05.04 21:15) [8]
все зависит от самой программы, и от условий, в которых она работает


ну если автор программы хочет получить больще процесорного времени, то вероятно сейчас программа не успевает выполнять нужные действия....

Игорь Шевченко (30.05.04 21:15) [8]
изменения приоритета на процессорное время, выделяемое потокам процесса - это далеко не линейная зависимость


а тут хоть в одном посте сказано про линейную зависимость?


 
Игорь Шевченко ©   (2004-05-30 21:43) [10]


> если  нуждается в нем


Так вот, программа обычно нуждается в процессорном времени, когда интенсивно занимается вычислениями. Когда люди начинают повышать приоритет таким программам, они заслуживают обмазывания дегтем и вываливания в перьях, так как заставлять их работать на системе, где вычислительным задачам повышается приоритет, будет слишком негуманным наказанием.

> вы хотите сказать, что от приоритета процеса НИЧЕГО не зависит?


Зависит. Приоритет потоков этого процесса, а следовательно, место в очереди планировщика, например, насколько предпочтительнее по сравнению с другими потоками этим потокам будет выделяться новый квант времени, если они в нем нуждаются


> только для потоков с базовыи приоритетом не выше 15


Не дай тебе Аллах, всемогущий и всемилостливый, работать в системе, где хоть один вычислительный поток работает с  приоритетом выше 15 :)


> ну если автор программы хочет получить больще процесорного
> времени, то вероятно сейчас программа не успевает выполнять
> нужные действия....


Это надо спрашивать автора программы, не так ли ?


 
Piter ©   (2004-05-30 21:54) [11]

Игорь Шевченко (30.05.04 21:43) [10]
программа обычно нуждается в процессорном времени, когда интенсивно занимается вычислениями. Когда люди начинают повышать приоритет таким программам, они заслуживают обмазывания дегтем и вываливания в перьях


опять не согласен. А если программа очень критична к времени выполнения?
Пусть у меня все подвиснет, но я получу полноценную информацию, например, с какого-нибудь устройства, чем у меня все будет летать, но информаия будет не полной или испорченной. Тут, конечно, есть некие компромиссы...

Игорь Шевченко (30.05.04 21:43) [10]
будет выделяться новый квант времени, если они в нем нуждаются


ну опять же повторюсь. Если автор ветки просит, чтобы программе было выделено больше времени, то вероятно сейчас этого времени не хватает! Ибо зачем тогда просить? Просто так что ли...

Игорь Шевченко (30.05.04 21:43) [10]
Не дай тебе Аллах, всемогущий и всемилостливый, работать в системе, где хоть один вычислительный поток работает с  приоритетом выше 15 :)


ну опять же надо смотреть первое высказывание... вдруг выполняемый процесс очень критичен ко времени исполнения...

Игорь Шевченко (30.05.04 21:43) [10]
Это надо спрашивать автора программы, не так ли ?


хм, мне кажется, это очевидным. Ну а как бы вы хотели, чтобы он спрашивал. Типа "Как повысить приоритет моей программы?". Ну так если он готов так спрашивать, то скорее всего и ответ ему не нужен.
И в FAQ"е все написано достаточно правильно. А то было бы так:

"Вопрос: Как увеличить процессорное время, выделяемого программе
Ответ: Увеличьте количество вычислений в своей программе"

Ответ, конечно, правильный, но это буквоедство. Ведь понятно, что автор вопроса имел в виду...


 
Игорь Шевченко ©   (2004-05-30 22:08) [12]

Piter ©   (30.05.04 21:54)

1) Программы с повышенным приоритетом большую часть своего времени жизни проводят в томительном ожидании, после того, как они наконец-то дождались чего-то, они быстро делают свое черное дело, так как диспетчер передает им управление в первую очередь, они снова начинают ждать. Таким программам процессорное время обычно не нужно.

2) Судя по вопросу автора ( и другим вопросам того же автора) у него не критическая ко времени программа. Впрочем, дождемся его.


 
Polevi ©   (2004-05-30 22:12) [13]

он испугался и убежал :)


 
Сергей Суровцев ©   (2004-05-30 22:21) [14]

>Piter ©   (30.05.04 21:54) [11]
>опять не согласен. А если программа очень критична к времени
>выполнения?

Зря не согласен. Если каждый начнет устанавливать приоритеты что получится? Анархия. Не нужно лезть в эту область. Совсем. Система неплохо справляется сама и без твоих (автора) указаний.
И если программа настолько важна и работает в системе одна, она и так получает 99% времени. Если программа критична ко времени исполнения, значит нужно менять алгоритм, а если не успевает за внешним устройством, дополнительный контроллер вешать, компьютер помощьнее ставить, систему менять, но ни в коем случае не мешать ей работать. Грош цена данным если при их получении система работает нестабильно.


 
Piter ©   (2004-05-30 23:18) [15]

Сергей Суровцев (30.05.04 22:21) [14]

ладно, ладно. Уговорили, демоны :)


 
Паниковский ©   (2004-05-31 06:01) [16]

найди вот тут дедушку Дос 6.22 и пиши как хочеш все процессорное время твое))
http://www.fdd5-25.net/oses.php



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

Форум: "Потрепаться";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.032 c
1-1086321260
mmb
2004-06-04 07:54
2004.06.20
Не загружаются библиотеки созданные Compaq Visual Fortran под W98


8-1080971466
edicon
2004-04-03 09:51
2004.06.20
ScreenSaver


4-1081945308
Aleksandr
2004-04-14 16:21
2004.06.20
Объясните, люди добрые, как работать с GetASuncKeyState?


14-1086093727
__
2004-06-01 16:42
2004.06.20
Как функционируют нормальные группы разработчиков?


14-1086070455
ИМХО
2004-06-01 10:14
2004.06.20
ATM-карта





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский