0,0 → 1,47 |
#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; |
} |
//****************************************************************************** |