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