Ощущаемая и фактическая производительность

В конечном счете оценивают производительность вашего приложения его пользователи. Разработчики могут измерить производительность приложения по времени выполнения определенных операций или по количеству создаваемых объектов. Однако для конечных пользователей эти критерии не имеют никакого значения. Иногда для оценки производительности пользователи используют другие критерии. Например, насколько быстро и плавно приложение работает и реагирует на ввод данных? Приводит ли его использование к снижению производительности системы? Чтобы оценить производительность приложения с позиции пользователя, задайте себе следующие вопросы.

  • Воспроизводится ли анимация плавно или нет?

  • Воспроизводится ли видеосодержимое плавно или нет?

  • Воспроизводятся ли аудиофрагменты непрерывно или нет?

  • Мерцает ли или исчезает ли изображение во время длительного выполнения операций?

  • Отображается ли введенный текст сразу же или с задержкой?

  • Выполняется ли соответствующее действие сразу после нажатия кнопки или с задержкой?

  • Увеличивается ли шум вентилятора процессора во время работы приложения?

  • Быстро ли разряжается аккумулятор портативного компьютера или мобильного устройства во время работы с приложением?

  • Сказывается ли работа приложения на реакцию на действия пользователя других приложений?

Важно понимать разницу между ощущаемой и фактической производительностью приложения. Способ достижения наилучшей ощущаемой производительности не всегда совпадает со способом достижения наилучшей абсолютной производительности. Убедитесь, что приложению не требуется выполнять большие объемы кода, из-за чего среда выполнения может не успевать с заданной частотой обновлять экран и быстро реагировать на ввод данных пользователем. В некоторых случаях достичь хороших результатов можно путем разделения выполняемой приложением задачи на несколько частей, между которыми среда выполнения успевала бы обновлять экран. (Подробные инструкции см. в разделе « Производительность визуализации ».)

Ниже описаны способы оптимизации фактической производительности выполнения кода и ощущаемой пользователями производительности.