Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > API functions


Автор: Dph 18.3.2004, 06:34
Чо за API ---> QueryPerformanceFrequency,
---> QueryPerformanceCounter ????????


Автор: cot 18.3.2004, 06:48
Осуществляет выборку текущего значения высокоточного счетчика производительности, если он есть.
Примет на С другого нету:
LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
switch( uMsg )
{
case WM_COMMAND :
switch( LOWORD( wParam ) )
{
case IDM_TEST:
{
// Получить данные из счетчика производительности.
// Отобразить эти данные в окне сообщения.
//..............................
TCHAR szBuffer[128];
LARGE_INTEGER liPerfFreq = {0, 0};
LARGE_INTEGER liPerfCount = {0, 0};

if ( QueryPerformanceCounter( &liPerfCount ) )
{
TCHAR szCounter[64];
double dCounter = (double) liPerfCount.LowPart +
(double) liPerfCount.HighPart *
(double) 0xFFFFFFFFFFFFFFFF;

// Получить данные частоты обновления счетчика
// производительности.
//...................
QueryPerformanceFrequency( &liPerfFreq );
wsprintf( szBuffer, "Count: %s, Resolution: %lu",
gcvt( dCounter, 40, szCounter ),
liPerfFreq.LowPart );
}
else
lstrcpy( szBuffer,
"No high-resolution performance counter." );

MessageBox( hWnd, szBuffer, "Performance Counter Report",
MB_OK | MB_ICONINFORMATION );
}
break;
.
.
.


Автор: p0s0l 18.3.2004, 07:24
QueryPerformanceFrequency выдает частоту таймера
QueryPerformanceCounter выдает текущее значение таймера (единица измерения зависит от частоты таймера)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)