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

Можно ли изменить значения AniFrameRate только для одной анимации?


Alex7wrt

Вопрос

Всем здравствуйте!

Столкнулся с такой проблемой. При изменении свойства AniFrameRate у одного объекта TFloatAnimation c дефолтных 60 до 10 или другого меньшего чем 60 значения, все анимации на форме, а не только эта, начинают тормозить, как будто этот параметр поменялся для всех анимаций, пока не поменяешь обратно. Для больших 60 значений все нормально. ))

Вопрос: отчего так происходит?

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

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

  • 0

Решения пока не нашел. Но заметил интересную вещь. При дефолтных 60 фпс приложение с несколькими компонентами анимаций в Windows грузит процессор на 15%. При изменении же этого параметра у любой одной анимации на значение 50, загрузка процессора падает до 0. Хотя визуально разницы практически не видно. Вот вам и способ повышения быстродействия анимации )).

Не знаю, в чем прикол. Возможно, при 60 фпс процессор участвует в отрисовке, а при меньшем значении всю отрисовку выполняет видеокарта. Возможно, что это так только на моем компе. Но в Android при 50 тоже приложение шустрее работает, (хотя это конечно понятно), но на глаз ощутимее, чем 17% снижения фпс.

Изменено пользователем Alex7wrt
Ссылка на комментарий
  • 0
  • Администраторы

Добрый день,

  • TAnimation.AniFrameRate  - это классовая переменная. Она существует в единственном экземпляре для всех аниматоров. 
  • Изменить ее локально для одного аниматора/анимации не возможно.
Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...