QueryPerformanceCounter

Sesekali nulis serius di sini. Malu ternyata ada yang baca hehe. Bukan bermaksud riya maupun sebangsanya. Catatan ini murni buat pengingat doang, maklum sekarang merasa suka jadi pelupa. haha.

Cuplikan (tepatnya hasil kopas) kode di bawah berguna bagi Anda yang sedang bingung mencari cara menghitung waktu di C++ dengan ketelitian sampai milidetik. Soalnya, yang ada biasanya hanya sampai ketelitian detik saja. Seperti pakai clock_t atau time_t. CMIIW.

Nah, berdasarkan hasil googling Jumat (28/12) pagi, ternyata ada cara lain yang dapat digunakan untuk menghitung waktu itu. Caranya denganpakai QueryPerformanceCounter(). Lengkapnya lihat saja di bawah, soalnya saya juga nggak ngerti :D.


#include

double PCFreq = 0.0;
__int64 CounterStart = 0;

void StartCounter()
{
LARGE_INTEGER li;
if(!QueryPerformanceFrequency(&li))
cout << "QueryPerformanceFrequency failed!\n";

PCFreq = double(li.QuadPart)/1000.0;

QueryPerformanceCounter(&li);
CounterStart = li.QuadPart;
}
double GetCounter()
{
LARGE_INTEGER li;
QueryPerformanceCounter(&li);
return double(li.QuadPart-CounterStart)/PCFreq;
}

int main()
{
StartCounter();
Sleep(1000);
cout << GetCounter() <<"\n";
return 0;
}

Keterangan selengkapnya baca saja di sini oke.

Iklan

One thought on “QueryPerformanceCounter

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

w

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.