В каждом кадре моего приложения я могу вызвать timeGetTime (), чтобы получить текущие истекшие миллисекунды, и вычесть значение timeGetTime () из предыдущего кадра, чтобы получить время между двумя кадрами. Однако, чтобы получить частоту кадров приложения, я должен использовать эту формулу: FPS = 1000 / задержка (мс). Так, например, если задержка составляла 16 миллисекунд, то 1000/16 = 62,5 (хранится в памяти как 62). Тогда, скажем, задержка стала 17 миллисекунд, затем 1000/17 = 58 и так далее:
* * Тысяча два 1000/10 = 100 * 1 003 *
1000/11 = 90
1000/12 = 83
1000/13 = 76
1000/14 = 71
1000/15 = 66
1000/16 = 62
1000/17 = 58
1000/18 = 55
1000/19 = 52
1000/20 = 50
Как вы можете видеть для последовательных случаев задержки, в частотах кадров есть довольно большие разрывы. Так как же программы типа FRAPS определяют частоту кадров приложений, которые находятся между этими значениями (например, 51,53,54,56,57 и т. Д.)?