====== Замер производительности с помощью FPS ====== Как быстро выполняется приложение? Под производительностью мы понимаем количество кадров в секунду. Этот способ замера не является самым оптимальным, мы хотим только получить относительную оценку. GLUT обеспечивает нас функцией, позволяющей нам запрашивать различные параметры системы, одна из которых кол-во милисекунд от последнего вызова //glutInit//. Синтаксис функции таков: function glutGet (state: GLenum): Integer; stdcall; Параметр //state// указывает на требуемое значение. Нам нужен аргумент //state// со значением //GLUT_ELAPSED_TIME//. Инициализация: var time: integer; ... time := glutGet (GLUT_ELAPSED_TIME); В данном случае //glutGet (GLUT_ELAPSED_TIME)// имеет аналог в Windows в функции //GetTickCount//. Чтобы не повредить кроссплатформенности кода, рекомендуется избавляться от наличия //GetTickCount//. Следующий кусок кода поместим в зарегистрированную процедуру //idle//, которая и будет выполнять работу: const time: integer; var frame: integer = 0; timebase: integer = 0; ... inc (frame); time := glutGet (GLUT_ELAPSED_TIME); if (time - timebase > 1000) begin fps := frame*1000.0 / (time-timebase); timebase := time; frame := 0; end; ... ===== Ссылки ===== [[http://www.lighthouse3d.com/opengl/glut/index.php?fps|Computing Frames per Second]]