Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6120 | IgorA | 1 | ;include '../../../../../KOSfuncs.inc' |
2 | |||
3 | ;x,y - êîîðäèíàòû âûâîäà FPS íà îêíî |
||
4 | ;âîçâðàùàåò âðåìß â ñîòûõ äîëßõ ñåêóíäû çàòðà÷èâàåìîå íà 1 öèêë |
||
5 | |||
6 | time1 dd 0 ;int |
||
7 | time2 dd 0 ;int |
||
8 | fps1 dd 0 ;int |
||
9 | timerend dd 0 ;int |
||
10 | |||
11 | ;ôóíêöèß îïðåäåëåíèß FPS |
||
12 | proc Fps uses ebx ecx edx esi, x:dword, y:dword |
||
13 | locals |
||
14 | tr dd ? |
||
15 | endl |
||
16 | |||
17 | ;îïðåäåëßåì âðåìß ïðîøåäøåå ñ ìîìåíòà çàïóñêà ñèñòåìû |
||
18 | mcall SF_SYSTEM_GET,SSF_TIME_COUNT |
||
19 | mov [time1],eax |
||
20 | |||
21 | cmp dword[timerend],0 |
||
22 | jne @f |
||
23 | mov eax,[time1] |
||
24 | mov [time2],eax |
||
25 | mov [timerend],eax |
||
26 | @@: |
||
27 | |||
28 | mov eax,[time1] |
||
29 | sub eax,[timerend] |
||
30 | mov [tr],eax |
||
31 | |||
32 | mov eax,[time1] |
||
33 | sub eax,[time2] |
||
34 | cmp eax,100 ;åñëè ïðîøëî ìåíåå 1 ñåêóíäû |
||
35 | jge .else |
||
36 | inc dword[fps1] ;óâåëè÷èâàåì ñ÷åò÷èê fps |
||
37 | jmp @f |
||
38 | .else: |
||
39 | ;âûâîäèì ÷èñëî fps |
||
40 | mov ebx,[x] |
||
41 | shl ebx,16 |
||
42 | add ebx,23 |
||
43 | mov ecx,[y] |
||
44 | shl ecx,16 |
||
45 | add ecx,7 |
||
46 | mcall SF_DRAW_RECT,,,0x00555555 |
||
47 | mov edx,[x] |
||
48 | shl edx,16 |
||
49 | add edx,[y] |
||
50 | mcall SF_DRAW_NUMBER,4 shl 16,[fps1],,0xfafafa |
||
51 | mov dword[fps1],0 |
||
52 | mov eax,[time1] |
||
53 | mov [time2],eax |
||
54 | @@: |
||
55 | |||
56 | mov eax,[time1] |
||
57 | mov [timerend],eax |
||
58 | mov eax,[tr] |
||
59 | ret |
||
60 | endp |