для чего нужна QueryPerformanceFrequency?
Привет,
Я читаю код системы синхронизации Cyclone (образец, который Ян Миллингтон сделал, чтобы продемонстрировать физический движок). И там я достигаю 1 функции, которую никогда раньше не видел, QueryPerformanceFrequency.
Здесь функция, которая использовала QueryPerformanceFrequency:
void initTime() { LONGLONG time; qpcFlag = (QueryPerformanceFrequency((LARGE_INTEGER*)&time) > 0); // Check if we have access to the performance counter at this // resolution. if (qpcFlag) qpcFrequency = 1000.0 / time; }
Я просто не понимаю этой строки
if (qpcFlag) qpcFrequency = 1000.0 / time;
Я просто могу догадаться, что WinAPI получает частоту процессора и сохраняет ее в var-времени. Но, как мы видим, gpcFrequency-это действительно частота. Так что же именно делает WinAPI?
Еще один дополнительный вопрос, мне все еще трудно понять код Cyclone, особенно временные данные в файле timing.cpp я могу понять физический код, такой как скорость и положение, но временные данные-такая странная теория для меня. Может ли кто-нибудь порекомендовать какое-либо объяснение о времени в игровом движке, книге или статье-это нормально. Спасибо.
Santhosh G_
Есть ли в вашем коде какие-либо вызовы QueryPerformanceCounter ?
Sergey Chepurin
Как вы спросили "время игры и многоядерные процессоры" -http://msdn.microsoft.com/en-us/library/ee417693%28VS.85%29.aspx