Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как настроить использование ресурсов процессора? 
V
    Опции темы
KaraKum
  Дата 20.12.2007, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



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

Это сообщение отредактировал(а) KaraKum - 20.12.2007, 13:15
PM MAIL WWW   Вверх
MAKCim
Дата 20.12.2007, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



какая ОС?
в Linux есть setrlimit() + RLIMIT_CPU
то, что надо


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
dumb
Дата 20.12.2007, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 27
Всего: 158



Sleep(100);
PM MAIL   Вверх
MAKCim
Дата 20.12.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



dumb, 
это не то
как я понял
процесс крутится в бесконечном цикле, непрерывно выполняя какую-то работу, а не ожидая какого-либо события


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
dumb
Дата 20.12.2007, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 27
Всего: 158



MAKCim, ты слишком глубоко копаешь. smile  я так думаю! (с) smile
PM MAIL   Вверх
chipset
Дата 20.12.2007, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 2
Всего: 165



потоки, SetPriority. А вообще it depends.


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
KaraKum
Дата 20.12.2007, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



Цитата(MAKCim @ 20.12.2007,  13:34)
dumb, 
это не то
как я понял
процесс крутится в бесконечном цикле, непрерывно выполняя какую-то работу, а не ожидая какого-либо события

Ага!  smile
ОЦ Windows XP.
Нужно, чтобы программа использовала только определённый процент процессорного времени, чтобы другие приложения могли нормально работать. И желательно чтобы это было независимо от динамики программы и мощности компа.

PM MAIL WWW   Вверх
Cycle
Дата 20.12.2007, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 1.12.2007

Репутация: нет
Всего: 3




Решение №1: использовать SetTimer и поместить тело цикла в TimerProc. Однако это решение будет давать разную нагрузку процессора в зависимости от его быстродействия

Решение №2: использовать Sleep. Это решение уже предлагалось выше. ИМХО, для слабых процессоров более надежный метод, так как дает гарантированую передышку твоему процессору на выполнение предыдущих задач.

Решение №3: использование приоритетов. Поставь своему прочессу максимально низкий приоритет и твоя прога будет выполнятся в свободное от других задач время. По-моему - это самый лучший способ.

А так интересно узнать твою задачу поподробнее smile
PM MAIL   Вверх
KaraKum
Дата 22.12.2007, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



Цитата(Cycle @ 20.12.2007,  23:19)
Решение №3: использование приоритетов. Поставь своему прочессу максимально низкий приоритет и твоя прога будет выполнятся в свободное от других задач время. По-моему - это самый лучший способ.

Вот! В самый раз. Как раз больше всех подходит. И не нужно расчитывать какой процент давать программе - винда сама всё сделает. Лучше и не придумаешь.
Спасибо.  smile 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.3038 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.