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;
|
||
}
|
||
//******************************************************************************
|