| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > QueryPerformanceCounter |
| Автор: Bagheera 27.4.2005, 09:40 | ||
| Изначально идея состояла в измерении ресурса процессора, отдаваемого каждому процессу. Если процесс пожирает слишком много ресурса на протяжении некоторого времени, нужно понижать его приоритет. Недавно наткнулся на QueryPerformanceCounter(), хочу знать что она показывает, можно ли ее использовать в данном случае?
|
| Автор: Bagheera 27.4.2005, 13:02 |
| Поиск я использовал, но по характеру кода я не умею угадывать назначения функции. Если не трудно, человеческим языком скажите что показывает значение, которое она возвращает. |
| Автор: Rouse_ 27.4.2005, 14:07 | ||
|
| Автор: _hunter 27.4.2005, 15:22 |
| Bagheera, а по описанию в справке умееш? ;) |
| Автор: Bagheera 29.4.2005, 13:29 |
| Hunter, если бы все было так просто я б не писал на форум. Спасибо Rouse. Идею я понял. Только Delphi 7 этого не понял QW.QuadPart. |
| Автор: _hunter 29.4.2005, 15:02 |
| если бы все было так сложно Я бы не писал |
| Автор: Набережных С. 30.4.2005, 13:15 | ||
| Bagheera К сожалению, QueryPerformanceCounter не имеет никакого отношения к загруженности процессора. Можно использовать PDH.dll, надстройкой над механизмом счетчиков производительности. Можно и напрямую, но через PDH.dll намного проще. Простой пример ее использования найдешь здесь http://kladovka.net.ru/ Хотя должен заметить, что:
достаточно спорная мысль |
| Автор: Marriage 30.4.2005, 20:56 |
| Читать из реестра HKEY_DYN_DATA\PerfStats\StatData соответствующий ключ Kernel \CPUUsage. Взято из сборника DelphiWorld6 Сам не проверял. |
| Автор: Bagheera 5.5.2005, 13:17 |
| Эта спорная мысль реализована в UNIX, по моему логично. Есть некоторые эксплоиты, забивающие процессор разными безполезными вычислениями - именно от них пытаюсь поставить защиту. Насчет HKEY_DYN_DATA\PerfStats\StatData буду проверять. Спасибо. |
| Автор: GaZone(DiK) 18.5.2005, 08:50 |
| HKEY_DYN_DATA\PerfStats\StatData - это только в 9х, а если ХР, то нужно юзать NtQuerySystemInformation. Там нужно спрашивать инфу, связанную со временем, а потом с помощью вычислений узнать загр. проца. |
| Автор: SoWa 18.5.2005, 09:07 |
| А чем код Rouse_ не устраивает? |
| Автор: profesiachuvak 3.12.2009, 13:34 | ||||
QuadPart это четвётая часть от числа, то есть QW/4
|