Я просто записал пользовательский индикатор выполнения, это единственное буферизованный и останется так. Сколько кадров в секунду желательно для чего-то вроде этого? Я не хочу тратить впустую слишком много ЦП, обновляющего экран излишне.
Как правило, 10 кадров в секунду - это разумный минимум для очень маленьких, простых анимаций с движением. 30 кадров в секунду - это минимум для более сложных движений и/или больших сцен.
Однако, как правило, индикаторы прогресса очень мало меняются от кадра к кадру. Если вы используете очень простую анимацию, вы можете обнаружить, что работает менее 10 кадров в секунду.
Я предлагаю начать с 10 кадров в секунду и проверить результат. Настраивайте дальше.
Я был бы рад обновлению в секунду или два для функциональных целей.
10-20 кадров в секунду, если вы хотите, чтобы картинка хорошо выглядела.
Возможно, вы захотите пойти другим путем и обновить индикатор выполнения всякий раз, когда есть пиксель полосы для обновления. Если у вас есть полоса 200 пикселей, обновляйте ее, когда завершаются каждые 0,5% обработки. Это каждые 300 мс для 1-минутного процесса, но каждые 4,5 с для 15-минутного процесса. Как показывают примеры, частота кадров в секунду обычно ниже, чем требуется для плавной крупно-динамичной анимации; в противном случае вам не понадобится индикатор выполнения. В зависимости от вашего проекта может быть проще, чтобы процесс сообщал на индикаторе выполнения каждый раз, когда он завершается x %, чем чтобы индикатор выполнения продолжал проверять процесс каждые n мс.