Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. #include<menuet/os.h>
  2. #include "SysCall.h"
  3.  
  4. /*******************************************************************************
  5. ÔÓÍÊÖÈß ÎÏÐÅÄÅËÅÍÈß FPS
  6. x,y - êîîðäèíàòû âûâîäà FPS íà îêíî
  7. âîçâðàùàåò âðåìÿ â ñîòûõ äîëÿõ ñåêóíäû çàòðà÷èâàåìîå íà 1 öèêë
  8. */
  9.  
  10. int time1=0;
  11. int time2=0;
  12. int fps1=0;
  13. int timerend=0;
  14.        
  15. int Fps (long x, long y)//ôóíêöèÿ îïðåäåëåíèÿ FPS
  16. {
  17.         int tr;
  18.        
  19.         time1 = SysCall(26,9);//îïðåäåëÿåì âðåìÿ ïðîøåäøåå ìîìåíòà çàïóñêà ñèñòåìû
  20.  
  21.         if (timerend==0)
  22.         {
  23.            time2=time1;
  24.            timerend=time1;     
  25.         }
  26.        
  27.         tr = time1 - timerend;
  28.  
  29.         if ((time1 - time2) < 100)//åñëè ïðîøëî ìåíåå 1 ñåêóíäû
  30.         {                                         //óâåëè÷èâàåì ñ÷åò÷èê fps
  31.                 fps1++;
  32.         }
  33.         else
  34.         {
  35.                 //âûâîäèì ÷èñëî fps
  36.                 SysCall(13,(x<<16)+23,(y<<16)+7,0x00555555); //ÍÀÐÈÑÎÂÀÒÜ ÏÎËÎÑÓ
  37.         SysCall(47,4<<16,fps1,(x<<16)+y,0xfafafa);//ÂÛÂÅÑÒÈ Â ÎÊÍÎ ÏÐÈËÎÆÅÍÈß ×ÈÑËÎ
  38.                 fps1=0;
  39.                 time2=time1;
  40.         }
  41.        
  42.         timerend=time1;
  43.        
  44. return tr;
  45. }
  46. //******************************************************************************
  47.