QueryPerformanceCounter: Panduan untuk Ketepatan Masa
Untuk meningkatkan ketepatan kelas Pemasa anda, anda telah memilih QueryPerformanceCounter. Walau bagaimanapun, pelaksanaannya mungkin sukar difahami.
Inti QueryPerformanceCounter terletak pada struktur LARGE_INTEGER, yang menyimpan integer 64-bit yang mewakili cap masa dalam kiraan. Untuk menentukan kekerapan pembilang, anda menggunakan QueryPerformanceFrequency dan menetapkan outputnya kepada PCFreq, yang mewakili bilangan kutu sesaat.
Seterusnya, StartCounter memulakan pembilang dengan menangkap cap masa semasa dan menetapkannya kepada CounterStart. GetCounter mendapatkan semula cap masa semasa dan mengira masa yang telah berlalu daripada CounterStart, membahagikan hasilnya dengan PCFreq untuk menukarnya kepada saat.
Untuk ketepatan mikrosaat, kurangkan PCFreq kepada bahagian seribunya. Sebagai alternatif, alih keluar pembahagian sebanyak 1000 untuk mengukur dalam beberapa saat.
Kod yang disediakan menunjukkan penggunaan QueryPerformanceCounter. Memanggil StartCounter memulakan pemasa dan GetCounter mengembalikan masa yang telah berlalu sejak seruan terakhirnya.
Pendekatan ini memberi anda pemasaan yang tepat, menawarkan peningkatan yang ketara dalam selang milisaat.
Atas ialah kandungan terperinci Bagaimanakah QueryPerformanceCounter Boleh Mencapai Masa Tepat dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!