Вращающаяся вертушка
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|

— Вращающаяся вертушка это разновидность пульсатора и вариант указателя используемый в Apple macOS мыши , для обозначения того, что приложение занято. [ 1 ]
Официально в рекомендациях по пользовательскому интерфейсу macOS он называется вращающимся курсором ожидания . [ 2 ] но он также известен под другими именами. К ним относятся, помимо прочего, вращающийся пляжный мяч , [ 3 ] прялка смерти , [ 4 ] и вращающийся пляжный мяч смерти . [ 5 ]
История
[ редактировать ]использовались Наручные часы в качестве первого курсора ожидания в ранних версиях классической Mac OS . от Apple HyperCard первой популяризировала анимированные курсоры, в том числе черно-белый вращающийся разделенный на четыре части круг, напоминающий пляжный мяч . Курсор в виде пляжного мяча также был принят для обозначения выполнения кода сценария в HyperTalk подобном AppleScript, . Курсоры можно перемещать путем повторных вызовов HyperTalk «установить курсор на занятость».
Курсоры ожидания активируются приложениями, выполняющими длительные операции. В некоторых версиях установщика Apple использовался анимированный курсор «счётная рука». Другие приложения предоставляли свои собственные курсоры, соответствующие темам, такие как вращающийся символ Инь Ян , Fetch бегущая собака , вращающаяся лента Retrospect и Pro Tools постукивающие пальцы . Apple предоставила стандартные интерфейсы для анимации курсоров: первоначально Cursor Utilities (SpinCursor, RotateCursor). [ 6 ] а в Mac OS 8 и более поздних версиях — диспетчер внешнего вида (SetAnimatedThemeCursor). [ 7 ]
От NeXT Step к MacOS X
[ редактировать ]
В NeXTStep 1.0 использовался монохромный значок, напоминающий вращающийся магнитооптический диск . [ а ] Некоторые компьютеры NeXT имели оптический привод, который часто работал медленнее, чем магнитный жесткий диск. Это сделало частую причину появления курсора ожидания.

Когда в NeXTStep 2.0 была добавлена поддержка цвета, были добавлены цветные версии всех значков. Курсор ожидания был обновлен, чтобы отразить яркую радужную поверхность этих съемных дисков, и этот значок остался, даже когда более поздние машины начали использовать жесткие диски в качестве основного хранилища. Современные приводы CD-ROM были еще медленнее (1x, 150 кбит/с). [ б ]

С появлением Mac OS X курсор ожидания в прессе часто называли «вращающимся пляжным мячом». [ 8 ] предположительно авторы, не знающие историю NeXT и не связывающие ее с курсором ожидания HyperCard.
Двумерный внешний вид практически не изменился. [ с ] от NeXT до Rhapsody / Mac OS X Server 1.0, дизайн пользовательского интерфейса которого в остальном напоминал Mac OS 8 / тему Platinum . Это продолжилось в Mac OS X 10.0/Cheetah и Mac OS X 10.1/Puma , в которых появилась тема пользовательского интерфейса Aqua .
Mac OS X 10.2/Jaguar придала курсору глянцевый закругленный вид «мармеладки», соответствующий другим интерфейса OS X. элементам [ 9 ] В OS X 10.10 вращается вся вертушка (ранее перемещался только накладывающийся полупрозрачный слой). В OS X 10.11 El Capitan был обновлен дизайн вращающегося курсора ожидания. Теперь он имеет меньше теней и более яркие и сплошные цвета, чтобы лучше соответствовать дизайну пользовательского интерфейса, а цвета также меняются при вращении, а не только текстура.
Использование системы
[ редактировать ]В однозадачных операционных системах, таких как исходная операционная система Macintosh, курсор ожидания может указывать на то, что компьютер полностью не отвечает на ввод пользователя, или просто указывать на то, что ответ может временно быть медленнее, чем обычно, из-за доступа к диску. Ситуация изменилась с появлением многозадачных операционных систем, таких как System Software 5 , в которых можно переключиться на другое приложение и продолжить работу там. Отдельные приложения также могли отображать курсор ожидания во время длительных операций (и часто могли отменить это отображение с помощью команды клавиатуры).
После перехода на Mac OS X ( macOS ) отображением курсора ожидания можно было управлять только операционной системой, а не приложением. Это может указывать на то, что приложение находится в бесконечном цикле или просто выполняет длительную операцию и игнорирует события. Каждое приложение имеет очередь событий , которая получает события от операционной системы (например, нажатия клавиш и щелчки кнопок мыши); и если приложение занимает больше 2 секунд [ 10 ] для обработки событий в своей очереди событий (независимо от причины) операционная система отображает курсор ожидания всякий раз, когда курсор наводит курсор на окна этого приложения.
Это означает, что приложение временно не отвечает, и это состояние, из которого оно должно восстановиться. Это также может указывать на то, что все приложение или его часть перешли в невосстановимое состояние или в бесконечный цикл. В течение этого времени пользователю может быть запрещено закрывать, изменять размер или даже сворачивать окна затронутого приложения (хотя перемещение окна все еще возможно в OS X, а также ранее скрытых частей окна, которые обычно перерисовываются, даже если в противном случае приложение не отвечает). Хотя одно приложение не отвечает, обычно можно использовать другие приложения. Еще одна распространенная причина — файловая система и сетевые задержки.
Рекомендации, инструменты и методы для разработчиков
[ редактировать ]По умолчанию события (и любые действия, которые они инициируют) обрабатываются последовательно, что позволяет ограничить тривиальный объем обработки каждого события. Вращающийся курсор ожидания будет отображаться до завершения операции. Если операция займет слишком много времени, приложение перестанет отвечать на запросы. Разработчики могут предотвратить это, используя отдельные потоки для длительной обработки, позволяя основному потоку приложения продолжать реагировать на внешние события. Однако это значительно увеличивает сложность приложения. Другой подход — разделить работу на более мелкие пакеты и использовать NSRunLoop или Grand Central Dispatch .
- Ошибки в приложениях могут привести к тому, что они перестанут реагировать на события; например, бесконечный цикл или тупик. Пораженные приложения редко восстанавливаются.
- Проблемы с системой виртуальной памяти , такие как медленная подкачка страниц, вызванная остановкой жесткого диска или ошибками чтения диска, приводят к появлению курсора ожидания в нескольких приложениях до тех пор, пока жесткий диск и система виртуальной памяти не восстановятся.
Инструменты — это приложение, входящее в состав инструментов разработчика Mac OS X. Наряду с другими функциями он позволяет пользователю отслеживать и выбирать приложения, которые либо не отвечают, либо выполняют длительную операцию. Каждый раз, когда приложение не отвечает и активируется вращающийся курсор ожидания, Instruments может протестировать процесс, чтобы определить, какой код приводит к тому, что приложение перестает отвечать. Имея эту информацию, разработчик может переписать код, чтобы избежать активации курсора.
Рекомендации Apple предполагают, что разработчики стараются избегать вызова вращающегося курсора ожидания и вместо этого предлагают использовать другие индикаторы пользовательского интерфейса , такие как асинхронный индикатор прогресса .
См. также
[ редактировать ]- Курсор ожидания Windows
- Вращающийся курсор
- Вращающееся колесо (троббер)
- Указатель (пользовательский интерфейс)
Примечания
[ редактировать ]- ^ Оптические диски NeXT , фотография нижней стороны, демонстрирующая эффект радуги, изображенный на значке (новый на тот момент тип носителя, который был встроен в ранние кубы NeXT Cubes ).
- ^ внешний привод AppleCD часто использовался
- ^ ни единого бита не изменилось
Ссылки
[ редактировать ]- ^ «Мини-учебник: ужасная вращающаяся вертушка; предотвращение зависаний и замедлений в Mac OS X» . CNet . 10 марта 2005 г. Проверено 16 июля 2012 г.
- ^ «Рекомендации по пользовательскому интерфейсу macOS: указатели» . разработчик.apple.com . Архивировано из оригинала 21 июня 2022 г. Проверено 24 января 2018 г.
- ^ «Устранение неполадок с вращающимся пляжным мячом» . Макмир . 28 мая 2010 г. Архивировано из оригинала 22 марта 2020 г. Проверено 22 марта 2020 г.
- ^ «Как исправить вращающееся колесо смерти на Mac» . МакПау . Архивировано из оригинала 22 марта 2020 г. Проверено 22 марта 2020 г.
- ^ «Холодное сердце: как принудительно закрыть приложение для OS X, показывающее вращающийся пляжный мяч смерти – Mac Observer» . www.macobserver.com . Архивировано из оригинала 22 марта 2020 г. Проверено 22 марта 2020 г.
- ^ «Использование утилит курсора (IM: Im)» . Разработчик.apple.com . Проверено 30 апреля 2010 г.
- ^ «SetAnimatedThemeCursor» . Разработчик.apple.com . Проверено 30 апреля 2010 г.
- ^ «Макворлд 01 апреля 2002 г.» . Архивировано из оригинала 3 октября 2015 г. Проверено 2 октября 2015 г.
- ^ Обзор Ars Technica Jaguar: «Устрашающий «вращающийся радужный диск» в Jaguar приобрел совершенно новый вид»
- ^ «WWDC 2012 — Сессия 709 — Что нового в файловой системе» (PDF) . Яблоко . Архивировано из оригинала (PDF) 5 сентября 2023 г. Проверено 23 мая 2018 г.
Приложения SPOD, если они не обслуживают цикл событий в течение двух секунд.
Внешние ссылки
[ редактировать ]- Указатели в macOS с сайта Apple.
- Устранение неполадок «Вращающегося пляжного мяча смерти». Отрывок из книги «Устранение неполадок Mac OS X», где содержится некоторая информация о том, как решать проблемы с вращающимся курсором ожидания.