Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Загрузка процессора

273
09 октября 2006 года
3A3-968M
1.2K / / 22.12.2005
Всем известная штука - диспетчер задач в WinXP, одна из полезных на мой взгляд вещей - хронология загрузки ЦП. Но что он за функцию такую использует, чтобы узнать насколько процессор загружен, да и каким образом?? Если такая функция сама вносит дополнительную нагрузку на процессор, то узнать точную занятость CPU не получится никогда. Подскажите, просто в WinAPI что-такое я не встречал или это только на Assembler'е можно сделать?
17K
09 октября 2006 года
_mrhx_
27 / / 09.10.2006
ну насколько я знаю никакой такой специальной API функции нету. Видимо используется какой-то алгоритм для этого свой. А на Ассемблере ли это реализовывать или на Сях зависит уже от желания разработчика - это не принципиально тут.
309
09 октября 2006 года
el scorpio
1.1K / / 19.09.2006
[QUOTE=3A3-968M]Если такая функция сама вносит дополнительную нагрузку на процессор, то узнать точную занятость CPU не получится никогда.[/QUOTE]
Точность любого прибора зависит от помех, которые он приносит в измеряемую среду.
Посему, данная функция должна быть оптимальной по своему быстродействию.
Между прочим, в списке процессов сам taskmgr тоже присутствует - и доля его загружаемости CPU также выводится.
10
09 октября 2006 года
Freeman
3.2K / / 06.03.2004
[QUOTE=3A3-968M]Подскажите, просто в WinAPI что-такое я не встречал или это только на Assembler'е можно сделать?[/QUOTE]
Реализуется немного странно - счетчиком в реестре. В любом процессоре, поддерживающем исполнение задач в режиме разделения времени функция подсчета загрузки реализована аппаратно.
334
09 октября 2006 года
HexEdit
809 / / 27.07.2006
[QUOTE=Freeman]Реализуется немного странно - счетчиком в реестре. В любом процессоре, поддерживающем исполнение задач в режиме разделения времени функция подсчета загрузки реализована аппаратно.[/QUOTE]
А не подскажешь какая и как ее использовать?
261
09 октября 2006 года
ahilles
1.5K / / 03.11.2005
про это писал флёнов в книге програмирование в дельфи глазами хакера
там он описал метод определения загрузки на асме
если ты пишешь на С++ то просто переведи её на С++, тем болле основной алгоритм на Асме его не надо переводить
334
09 октября 2006 года
HexEdit
809 / / 27.07.2006
А я вообще на асме пишу...)
273
10 октября 2006 года
3A3-968M
1.2K / / 22.12.2005
Я конечно понимаю что рассуждения это хорошо, но было бы не плохо увидеть конкретный код. Устроит и Си и асм, но Freeman сказал, что это ключ в реестре и какой же??
261
10 октября 2006 года
ahilles
1.5K / / 03.11.2005
с помощью реестра это не точно потому что доступ к реестру это лишнее обращение к жесткому диску следовательно загрузка процессора и лишняя затрата времени. Короче не точно
10
10 октября 2006 года
Freeman
3.2K / / 06.03.2004
[QUOTE=ahilles]с помощью реестра это не точно потому что доступ к реестру это лишнее обращение к жесткому диску следовательно загрузка процессора и лишняя затрата времени. Короче не точно[/QUOTE]
Гы-гы-гы, га-га-га - решение есть у нас в исходниках. Правда, не проверял.

А насчет доступа к диску. Да будет тебе известно, что реестр построен хитрым образом, и на него монтируются некоторые службы в памяти. Нужный ключ называется HKEY_PERFORMANCE_DATA, невидимом из редактора реестра. Правда, получение данных из этого подраздела достаточно невразумительно, проще воспользоваться вспомогательной библиотекой, как в примере. Благо, PDH.dll в Винду входит.
273
11 октября 2006 года
3A3-968M
1.2K / / 22.12.2005
[quote=Freeman]Гы-гы-гы, га-га-га - решение есть у нас в исходниках. Правда, не проверял.

А насчет доступа к диску. Да будет тебе известно, что реестр построен хитрым образом, и на него монтируются некоторые службы в памяти. Нужный ключ называется HKEY_PERFORMANCE_DATA, невидимом из редактора реестра. Правда, получение данных из этого подраздела достаточно невразумительно, проще воспользоваться вспомогательной библиотекой, как в примере. Благо, PDH.dll в Винду входит.[/quote]
2Freeman: спасибо, вполне исчерпывающий ответ
9.5K
13 октября 2006 года
Damarus
101 / / 08.04.2006
Performance Counter Classes.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог