Удивленный никто не упомянул возможности для мобильных игр. Я не вижу, что любой управляемый код конкурирует с C++ в ближайшее время для подобных Периоду полураспада и Halo, но для менее - интенсивные игры мобильного устройства, кажется, что это имеет участки.
Этот эффект может быть очень драматичным: выполнение относительно большого объема работы для предоставления пользователям правильного и часто обновляемого статуса выполнения, конечно, может замедлить фактическое время работы приложения (обновления экрана, отображение хода выполнения необходимых вычислений и т. д.), при этом давая пользователю ощущение, что на это уходит меньше времени.
Некоторые вещи, которые вы могли бы сделать в графическом интерфейсе пользователя:
Отображение подробностей (например, имен файлов, копируемых в процессе установки) часто может привести к тому, что все идет быстрее, потому что есть постоянная заметная активность (в отличие от медленно- ползучий индикатор выполнения).
Если ваш алгоритм таков, что он генерирует список результатов, и у вас есть способ отображать результаты по мере их создания (в отличие от всех сразу в конце), сделайте это - чем раньше пользователю будет на что посмотреть, кроме счетчика, тем лучше.
Используйте один из тех анимированных индикаторов выполнения, которые выглядят так, будто они что-то делают, даже если они не прогрессируют. Также,
Разрешить пользователю делать что-то еще, пока ваше приложение обрабатывает данные или ожидает результата. В области приложения вы можете позволить выполнить некоторые уточнения поискового запроса или собрать информацию для подготовки следующих шагов. Или просто представьте какую-нибудь другую "работу", которую необходимо выполнить, или просто несколько подсказок, документации, статистики, развлечения ..
Сначала представьте некоторые промежуточные интересные результаты. «Мы нашли 2 359 зетуилов, соответствующих вашему запросу, мы просто рассчитываем их будущую стоимость».
Я видел, как системы бронирования транспорта неплохо справляются с подобными вещами.
Я где-то читал, что если кажется, что процесс ускоряется, то кажется, что он быстрее, чем если бы он прогрессировал в стабильном темпе. Я не могу найти ссылку прямо сейчас, но она должна быть простой в реализации.
(10 минут спустя ...)
При дальнейшем просмотре в переулке Google были обнаружены следующие ссылки:
http: // www.azarask.in/blog/post/hacking-memory/ http://blogs.msdn.com/time/
Добавление спящего режима потока в критических точках. С каждой проходящей версией уменьшайте задержку.
Вот статья о "Выражение время в вашем пользовательском интерфейсе » и восприятие времени пользователем. Я не знаю, является ли это именно тем, что вы ожидаете в качестве ответа, но его определенно стоит прочитать.