Я программирую некоторые пользовательские элементы управления на Java и использую анимацию для переходов / затуханий / движений.
Способ, которым я делаю это, заключается в том, что я запускаю новый поток и делаю корректировки для переменных, и все настраивается с помощью метода paint()
.
Пример:
Теперь мой вопрос, скажем, например, что я реализовывал постепенное увеличение. Что я хотел бы сделать, это увеличить альфа-переменную на byte x //between 0-255
и нарисовать прямоугольник, где, например, alphaLevel += x
(в псевдокоде ):
byte increment = 40;
for (byte i = 0; i < 255; i += increment)
{
_parentClass.setAlphaLevel (i);
_parentClass.repaint();
Thread.sleep (10);
}
_parentClass.setAlphaLevel (255);
То, что я хочу знать, это то, что является самым низким и каким самым высоким, я должен установить сон, чтобы анимация не выглядела прерывисто? Есть ли что-нибудь, что связано с частотой обновления целевого устройства, или что-то, что связано с человеческими глазами? Тот же вопрос снова с шагом. Есть ли сайт, который даст мне хорошие цифры, которые я могу скопировать.
Причина, по которой я спрашиваю, заключается в максимизации эффективности, поскольку она будет работать на устройстве с батарейным питанием, чтобы больше процессорного времени = меньше батареи. Что бы вы установили?
Спасибо.