Фон
Я создал графический интерфейс с использованием некоторых элементов управления FireMonkey.
Проблема
Взаимодействие с пользовательскими элементами управления предотвращает обновление анимированных элементов управления, что приводит к рывкам и прерывистой анимации.
Анимированный элемент управления на видео выше управляется компонентом TTimer. Проблема сохраняется при использовании компонентов анимации FireMonkey.
Расследование
Элементы управления ползунком вызывают Repaint() при регулировке. Плавная регулировка ползунка создает плотный поток вызовов Repaint(), который блокирует обновление других элементов управления.
Что делать?
Замораживание анимации при постоянном обновлении одного элемента управления не подходит для моего приложения. Моя первая мысль - заменить вызовы Repaint() на что-то похожее на метод VCL Invalidate(), но у FireMonkey нет ничего сопоставимого AFAIK.
Есть ли хорошее обходное решение для этой проблемы?