Тема: модули
Показать сообщение отдельно
Старый 15.01.2011, 18:52   #6
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: модули

Я не нашёл, поэтому пишу по памяти

unit aa;

interface
var t:integer;
function fps:integer;

implementation

function fps:integer;
var dt:integer;
begin
dt:=GetRelativeTimeMs-t;
//время с предыдущего вызова функции
t:=t+dt;
fps:=1000 div dt;
end;

initialization
t:=GetRelativeTimeMs;
end.

P.S. простой, неточный, недоработанный))
P.P.S. Можно хранить предыдущее значение функции в ещё одной переменной, и если оно меньше чем 1000/dt, то увеличить на единицу, иначе уменьшить. Результат получится более стабильным
P.P.P.S. но мне лень))
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием