Heim >Backend-Entwicklung >C++ >Wie kann QueryPerformanceCounter die Timer-Genauigkeit verbessern und wie wird es verwendet?
Was ist QueryPerformanceCounter und wie wird es verwendet?
Um die Timing-Genauigkeit einer Timer-Klasse zu verbessern, kann QueryPerformanceCounter insbesondere eine zuverlässige Option sein bei der Suche nach einer Auflösung im Mikrosekundenbereich.
Implementierung QueryPerformanceCounter
Um QueryPerformanceCounter zu verwenden, befolgen Sie diese Schritte:
PCFreq initialisieren:
LARGE_INTEGER li; if (!QueryPerformanceFrequency(&li)) cout << "QueryPerformanceFrequency failed!\n"; PCFreq = double(li.QuadPart) / 1000.0;Speichern Sie diese Zählung in der CounterStart-Variable.
QueryPerformanceCounter(&li); CounterStart = li.QuadPart;Berechnen Sie die verstrichene Zeit, indem Sie die Startzählung von der aktuellen Zählung subtrahieren und das Ergebnis durch dividieren PCFreq.
double GetCounter() { QueryPerformanceCounter(&li); return double(li.QuadPart - CounterStart) / PCFreq; }
StartCounter(); Sleep(1000); cout << GetCounter() << "\n"; // Output: approximately 1000
Das obige ist der detaillierte Inhalt vonWie kann QueryPerformanceCounter die Timer-Genauigkeit verbessern und wie wird es verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!