48 lines
1.0 KiB
C++
48 lines
1.0 KiB
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;
|
||
}
|
||
//******************************************************************************
|