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

Garrincha

Пользователи
  • Постов

    1
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Garrincha

  1. Доброго времени суток.

    Требовалось в мой проект добавить немного анимации чтобы пользователи не скучали. По такому случаю решил использовать TFloatAnimation FireMonkey т.к. все говорили что это просто и очень красиво получается. Но возникла проблема с количеством кадров в секунду.

    Приведу конкретный пример.

    Нужно на OnMouseEnter чтобы кнопка увеличивалась по высоте в 2 раза (с 25 до 50). Так вот, если на свойство Height повесить TFloatAnimation то за 0,5 секунды картинка обновится

    на компе Celeron 2,2GHz 2Гб ОЗУ всего 2-3 раза 

    на компе Intel i3 2,53Ghz 4 Гб ОЗУ быстрее где-то раза в 3, но все равно не так плавно как хотелось бы.

    Но если я по-старинке напишу такой код на OnMouseEnter

    while but.Height < 50 do begin
        but.Height := but.Height + 1;
        Application.ProcessMessages;
        sleep(5);
      end;

    И аналогичное на OnMouseLeave то даже на первом менее мощном компьютере все очень быстро и красиво отрабатывает. Просто супер как отрабатывает.

    Это нормально для FireMonkey? Неужели все программируют под хорошие, относительно мощные компьютеры, а на старом железе нормальную анимацию на FireMonkey не написать?

    Все видео что я видел в интернете про анимацию в FireMonkey отличное, анимация правда хорошая. Это меня удивляет.

    Нигде не нашел информацию о том на какою дельту изменяется свойство объекта в TFloatAnimation и как определяется задержка между кадрами. Может при установке RAD?

    Может кто-то сталкивался и такой проблемой и решил ее?

     

    Заранее благодарен.

     

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