Вопрос

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

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

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

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

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

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

Это было полезно?

Решение

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

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top