Делаю библиотеку с дизайном для разработчиков c#.
Для анимации контролов использую Timer с интервалом 10. То есть идет перерисовка (Invalidate) каждые 10мс. На каждый контрол, для каждого вида анимации свой таймер.
Что получается:
https://www.youtube.com/watch?v=8MV4YgceO2Q
Инициализирую AnimateTimer AT1 = new AnimateTimer();
Ну и потом уже даю функцию со своими условиями для таймера через SetFunction.
Проблема в том что, чем больше контролов - тем больше нагрузка на ЦП. Какую альтернативу можно использовать?