forked from KolibriOS/kolibrios
caaa70b394
git-svn-id: svn://kolibrios.org@1789 a494cfbc-eb01-0410-851d-a64ba20cac60
47 lines
1023 B
C++
47 lines
1023 B
C++
#include<menuet/os.h>
|
|
#include "SysCall.h"
|
|
|
|
/*******************************************************************************
|
|
ФУНКЦИЯ ОПРЕДЕЛЕНИЯ FPS
|
|
x,y - координаты вывода FPS на окно
|
|
возвращает время в сотых долях секунды затрачиваемое на 1 цикл
|
|
*/
|
|
|
|
int time1=0;
|
|
int time2=0;
|
|
int fps1=0;
|
|
int timerend=0;
|
|
|
|
int Fps (long x, long y)//функция определения FPS
|
|
{
|
|
int tr;
|
|
|
|
time1 = SysCall(26,9);//определяем время прошедшее момента запуска системы
|
|
|
|
if (timerend==0)
|
|
{
|
|
time2=time1;
|
|
timerend=time1;
|
|
}
|
|
|
|
tr = time1 - timerend;
|
|
|
|
if ((time1 - time2) < 100)//если прошло менее 1 секунды
|
|
{ //увеличиваем счетчик fps
|
|
fps1++;
|
|
}
|
|
else
|
|
{
|
|
//выводим число fps
|
|
SysCall(13,(x<<16)+23,(y<<16)+7,0x00555555); //НАРИСОВАТЬ ПОЛОСУ
|
|
SysCall(47,4<<16,fps1,(x<<16)+y,0xfafafa);//ВЫВЕСТИ В ОКНО ПРИЛОЖЕНИЯ ЧИСЛО
|
|
fps1=0;
|
|
time2=time1;
|
|
}
|
|
|
|
timerend=time1;
|
|
|
|
return tr;
|
|
}
|
|
//******************************************************************************
|