![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
profesiachuvak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: нет Всего: 4 |
Здравствуйте друзья, начну с кода:
var
Если в SetPriorityClass указать HIGH_PRIORITY_CLASS , то загрузка процессора при выполнении программы 100%. Мне нужен максимально высокий приоритет моей программы, но не до такой степени. Вопрос в следующем: 1. Какой же класс приоритета будет оптимальным? 2. Какие ещё классы приоритета существуют? (есть ли числовой эквивалент HIGH_PRIORITY_CLASS и др.) 3.Грамотно ли вообще реализован приоритет в моём коде? 4.Нужно ли устанавливать приоритет потока в данном случае? Это сообщение отредактировал(а) profesiachuvak - 16.12.2009, 13:25 -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Сразу же несколько вопросов.
Для чего? Опять же - чего добиться хочешь? С точки зрения синтаксиса - всё грамотно. В каком? Ты задаёшь вопросы, но не говоришь для чего это нужно. -------------------- |
|||
|
||||
profesiachuvak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: нет Всего: 4 |
Прошу прощения, косяк с интернетом был. Отвечаю на ваши вопросы : в моей программе реализован сверхточный таймер (до 10 мкс), считает он выполнение процедуры. Проблема в том что с обычным приоритетом возникает погрешность в вычислении точного времени. То есть необходимая точность обеспечивается только с высоким приоритетом. Для сравнении : Приоритет который я указал в коде : время выполнения 8 +/- 2 мкс Без указания приоритета : время выполнения 8 +/- 9 мкс (приблизительно, но разбежка ощутима) Вот я и хотел бы узнать что именно мне надо. Вопросы остаются те же. -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
стопроцентная загрузка будет при любом приоритете, если программе есть что делать и она не простаивает. Приоритет влияет только на то, кто получит время при конкуренции.
-------------------- Обижено школьников: 8 |
|||
|
||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
profesiachuvak, Что бы снизить погрешность REALTIME_PRIORITY_CLASS, точность что надо... В остальном:
1. На разных машинах будут разные результаты в том числе и погрешность. 2. Более того при разных запущенных приложениях показатели будут разными. Из 1 и 2 => Выбрать подходящий можно только империческим путем... |
|||
|
||||
profesiachuvak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: нет Всего: 4 |
~FoX~ , Вы говорите простые истины. Если на конфигурацию компьютера я повлиять не могу, то на победу в конкуренции между приложениями я могу надеяться. За это спасибо, сейчас попробую. bems, Первое предложение не понятно. Вы хотите сказать, что при выполнении программы ресурс процессора полностью отдаётся только ей? Вы не правы что при любом приоритете загрузка программы одинаковая, проверьте это не так. ![]() -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
|||
|
||||
bems |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Предположим что у тебя самый низкий приоритет. Когда нет конкурирующих потоков, то даже с этим приоритетом ты получишь процессорное время, и загрузка будет 100% до тех пор, пока не появится поток с более высоким. Когда управление получает этот поток, то ты голодаешь, да, но процессор-то не простаивает. Он выполняет этот высокоприоритетный поток. Загрузка остается высокой. Когда ему больше нечего делать, то снова процессор занят тобой. Он будет простаивать тольео там, где все потоки находятся в ожидании. Поскольку речь о продолжительной фоновой работе, то ты всегда готов действовать, занчит загрузка 100% -------------------- Обижено школьников: 8 |
||||
|
|||||
profesiachuvak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: нет Всего: 4 |
bems, Не буду с Вами спорить, я не сведущ в физике процесса загрузки процессора. Просто то что Вы писали в первом своём сообщении, скорее была просто отписка, поэтому это вызвало у меня негодование и непонимание. А вообще мы отошли от темы.
Вопросы остались открытыми. -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Что конкретно считает? Если вычисляет, какое время выполняется некий код, то для этого не нужно ни таймеры, ни приоритеты изменять... -------------------- |
|||
|
||||
profesiachuvak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: нет Всего: 4 |
Демо, Ваше предложение как подчитать с какой частотой вкл\выкл контакт на LPT порту ? Именно эту процедуру я и замеряю. -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
|||
|
||||
dvamaster |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 559 Регистрация: 30.6.2004 Где: Россия : Курган Репутация: 3 Всего: 10 |
-------------------- Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/ Что же я сделал не так? /Король Лир/ Я делаю это для твоего же блага! /Любой родитель и палач/ PKUNZIP.ZIP /неизвестный/ |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |