Мультработа: таймер против простоя - PullRequest
2 голосов
/ 06 мая 2009

Существует аналогичная нить еще где, но она ориентирована на программирование игр, что, на мой взгляд, немного отличается от обычных приложений с графическим интерфейсом с некоторым «дополнительным сахаром».

Каков будет правильный подход для управления небольшими графическими анимациями (такими как разворачивание / свертывание панелей, светящиеся кнопки и т. Д.)?

Было бы лучше настроить таймер на срабатывание через равные промежутки времени, или лучше использовать случай простоя?

Как WPF управляет анимацией?

Я знаю, что есть много мнений о том, что лучше, поэтому давайте соберем их все: -)

ОБНОВЛЕНИЕ: ОК. Я думаю, что это вышло немного неясным. Я не использую WPF, и мне не интересно, как вы запускаете анимацию в WPF. Я хочу обсудить, почему время лучше или хуже, чем использование события onidle для управления анимацией. Не начинай, гони.

Ответы [ 2 ]

1 голос
/ 06 мая 2009

Как вы управляете анимацией, должно основываться на ваших приоритетах обработки.

Если вы используете таймер, вам будут звонить более последовательно. Это может поставить вас в конкуренцию с более важными процессами для обработки мощности. Управление по OnIdle позволяет другим процессам взять на себя ответственность, но это также означает, что анимация может быть истощена.

Правильный выбор зависит от ваших конкретных приоритетов.

Я не уверен, как WPF справится с этим, но было бы важно основывать анимацию на абсолютном времени начала, а не увеличивать анимацию при каждом вызове, поскольку анимация может не вызываться через регулярные интервалы.

0 голосов
/ 06 мая 2009

Может быть, я ошибаюсь, но зачем вам таймер / бездействие, если WPF изначально поддерживает анимацию? Возможно, вы захотите взглянуть на статью Обзор анимации на MSDN: http://msdn.microsoft.com/en-us/library/ms752312.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...