Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как узнать FPS моего приложения?


rareMax

Вопрос

Привет.

Как можно узнать сколько кадров в секунду рисует мой компонент?

Пытался сделать так:

procedure TCoordinatePlane.Paint;
var
  aBM: TStopwatch;
begin
  aBM := TStopwatch.Create;
  try
    aBM.Start;
    inherited Paint;
    FCells.DrawShape(Self);
    PaintXY;
    PaintAllShapes;
    PaintDebugInfo;
    aBM.Stop;
    Canvas.TextOut(0, 20, (1 / aBM.Elapsed.TotalSeconds).ToString);
  finally
    // aBM.Free;
  end;
end; 

Выдает значения довольно разные(В зависимости от масштаба) от 30 .. >1000. Как то не доверяю этим значениям. Можете подсказать как правильно сделать замер FPS?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Привет.

Как можно узнать сколько кадров в секунду рисует мой компонент?

Пытался сделать так:

procedure TCoordinatePlane.Paint;
var
  aBM: TStopwatch;
begin
  aBM := TStopwatch.Create;
  try
    aBM.Start;
    inherited Paint;
    FCells.DrawShape(Self);
    PaintXY;
    PaintAllShapes;
    PaintDebugInfo;
    aBM.Stop;
    Canvas.TextOut(0, 20, (1 / aBM.Elapsed.TotalSeconds).ToString);
  finally
    // aBM.Free;
  end;
end; 
Выдает значения довольно разные(В зависимости от масштаба) от 30 .. >1000. Как то не доверяю этим значениям. Можете подсказать как правильно сделать замер FPS?
Надо каждый кадр увеличивать некую переменную, и раз в секунду выводить значение этой переменной, после обнулять.
Ссылка на комментарий
  • 0

Надо каждый кадр увеличивать некую переменную, и раз в секунду выводить значение этой переменной, после обнулять.

 

Спасибо, уже так и сделал. 

 

Кому нужно - вот код GitHub. Данные почти точные(получение данных идет стандартным таймером, который не так уж и точный). Чуть позже сделаю более точный вывод значения FPS.

Изменено пользователем Сысоев Максим
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...