Следующая новость
Предыдущая новость

Retina: проект на грани безумия

18.03.2019 2:52
Retina: проект на грани безумия

Кто бы не придумал разрешение “класса Retina”, это был сумасшедший. Кто именно? Мы, наверно, никогда не узнаем – да и какое это имеет значение? Можно было, как все, шаг за шагом увеличивать разрешение экранов, не перенапрягаясь и не тратиться на то, чего еще никогда не было…

Если бы кто-то попытался организовать подобный проект за чужие деньги, едва ли хоть один инвестор в мире решился бы на это. Потому что экспертная оценка проекта была бы, скорее всего, такой же как приговор вынесенный iPhone 4 независимыми экспертами: это бесполезная, безумно затратная и бессмысленная затея.

Когда результат бесполезной идеи попал в руки миллионов пользователей, это мнение по тихому убрали с сайтов – все мои ссылки на подобные статьи умерли чуть ли не в один день. Хотя, может зря я наезжаю на экспертов: просто Apple почему-то очень не любят её конкуренты, даже больше чем Microsoft во времена её фактической монополии.

Я давно хотел рассказать о том, чем этот проект отличался от большинства других, но как-то не получилось. Если я не расскажу об этом проекте сейчас, будет поздно: “Горный лев” был его завершающим этапом.

Эта бесполезная чепуха вызывала восторг у её потребителей, но и у разработчиков она не вызывала отторжения и негативных реакций. Интересы последних были учтены с самого начала, и это удивительно. Вроде бы, так должно быть всегда – но обычно все не так…

Это продолжение серии про “горного льва”. Предыдущие части:

Первая часть: Mountain Lion: предвкушение.

Признаки приближения чего-то “безумно великого”

Давно не было ничего “безумно великого”, но именно сейчас это было бы очень кстати, и у нас еще есть надежда стать свидетелями чего-то такого. Или не стать.

Признаки таких стихийных явлений были скорее неприятными. Обычно Apple, как и любая компания в мире, внимательно следит за новшествами конкурентов, и оперативно отвечает на них чем-то еще более впечатляющим. Как и все остальные – иначе беда.

Но вдруг, без видимых причин, компания как будто впадает в спячку, и перестает отвечать на внешние раздражители. Например, с середины 2011 года, несмотря на объявление Intel крестового похода против MacBook Air, она не заинтересовалась появившимися на рынке жидкокристаллическими дисплеями с IPS, 24-битным цветом и большим разрешением чем у Air.

А про экраны MacBook Pro, которыми компания еще совсем недавно гордилась, говорить не хочется: экран с высоким разрешением (за доплату в 100 долларов) уступал не только братьям по классу, но и некоторым ультрабукам. Правда, ультрабукам это не помогло, но вообще-то нужно было отреагировать, это очень важный момент.

Пример “безумно великого” был у всех перед глазами, но даже у iPad третьего поколения экран меньше. Пользователь не может изменить разрешение экрана iPad. Вообще.

На MacBook’е пользователь может изменить разрешение экрана в любой момент, внешние мониторы расширяющие поверхность “рабочего стола” имеют разное разрешение – окно запросто может оказаться на границе областей с Retina и без.

Незадолго до объявления Retina MacBook Pro по Кремниевой долине поползли какие-то слухи, но были они какие-то невнятные и несмелые.

В долине как в деревне: невозможно ничего скрыть, в любой компании есть чьи-то друзья и приятели, бывшие коллеги – общаться с которыми в нерабочее время не запретишь.

Технология Retina (в iOS)

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

В ноябре 2012 Apple, после нескольких безуспешных попыток начавшихся еще в 2010 году, зарегистрировала торговый знак “Retina” и запатентовала эту технологию.

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

Измерять размеры экранов и объектов отображаемых на них в пикселях, с точки зрения абстрактной геометрии, как-то неправильно. Примерно как в лаптях или в попугаях. Хотя практики использовали для этого именно пиксели – минимальные точки разрешения. Как компромисс между практиками и теоретикам, существовала еще одна единица измерения, точка (point), изначально и теоретически это 1/72 дюйма, но на самом деле равная одному пикселю (а это и 1/96 дюйма, и 1/64 – как получится).

В технологии Retina координаты обозначаются точками. Каждая точка состоит из четырех пикселей. В Core Graphics, 2-мерном графическом движке OS X, координаты обозначались вещественными числами. Это повышало точность вычислений.

При увеличении разрешения, четкость и качество картинок и видео возрастает, но тексты и элементы уменьшаются, и их восприятие усложняется.

1600х900 на дисплее с диагональю в 13,3 дюйма (как у Samsung Series 9 900X3B) – пример неправильного, с точки зрения эргономики, решения. Все можно отрегулировать, но это лишние действия, не относящиеся к тому для чего он был приобретен.

Retina-дисплей iPhone 4 (как iPhone 4S и iPad третьего поколения) оставлял размеры всего с чем взаимодействует пользователь такими же, всего лишь увеличивая их качество. Это одна из тех очевидных вещей, до которых непросто додуматься. Графический движок, как и прежде, имел дело с координатами – а как они называются и сколько их в точке ему все равно.

Retina: проект на грани безумия

Вот только и в iOS, и в программах для iOS, графические составляющие экрана с помощью графического движка почти никогда не рисовали. Чтобы не перегружать центральный и графический процессор и не разряжать батарею. Использовались картинки, нарисованные художниками и дизайнерами. Эти картинки вписывались в заданные для них размеры с точностью до пикселя – а про точки они ничего не знали.

Нашли решение и для этого: увы, придется поработать. В основном дизайнеру. И не просто увеличить имеющиеся пиктограммы, а творчески их улучшить (добавить элементы, сделать интереснее). А чтобы уменьшить нагрузку на программистов, придумали обозначения для файлов с графическими элементами предназначенными для Retina. Если картинка для обычного разрешения хранится в файле starship.png, тогда Retina-вариант должен быть в файле starship@x2.png. Программист приказывает вывести в нужном месте “starship”, а iOS выбирает нужный вариант в зависимости от разрешения на устройстве.

Это не все тонкости и особые ситуации в iOS, но идея, видимо, понятна.

Технология Retina (OS X)

Retina: проект на грани безумия

Все, что рассказано выше, про реализацию технологии в iOS, в полной мере относится и к OS X. Но из-за того что операционная система компьютера живет намного более богатой и разнообразной жизнью, в ней пришлось учесть намного больше житейских ситуаций.

Как и в iOS, за всеми аспектами которые может контролировать операционная система, в полном объеме и автоматически, отвечает она. В первом Retina MacBook Pro это делала нестандартная сборка Mac OS 10.7.4, с номером 11E2068. Эта система была чем-то вроде корабля Восток, на котором Гагарин совершил первый пилотируемый полет в космос.

Учли и вероятность внезапного изменения разрешения экрана, и отображение окна сразу на двух экранах, один из которых с Retina-разрешением, а другой – нет. С окнами система разбиралась сама.

А вот с их содержимым – стандартные элементы управления и тексты делали то, что надо, без вмешательства разработчика. Графические заготовки (нарисованные художниками и/или дизайнерами), иконки, фирменная графика для элементов управления, с учетом всех ситуаций – на программисте.

Трудозатраты при адаптации Mac’овской программы к Retina поровну делились между разработчиками и дизайнерами.

Я немного упрощаю, на самом деле все было несколько сложнее, иногда нетривиально, но одними из первых выпустить программу, штатно работающую на Retina MacBook Pro было престижно и выгодно.

В OS X Mountain Lion все механизмы, обкатанные в Mac OS 10.7.4, сборка 11E2068, с рядом дополнений (из 1700 новых API в 10.8 десятка два имели отношение к технологии Retina), были уже штатной частью операционной системы, а поддержка Retina стала одним из обязательных требований при размещении приложения в Mac App Store.

Продолжение следует

Предлагаем подписаться на наш канал в «Яндекс.Дзен». Там вы сможете найти эксклюзивные материалы, которых нет на сайте.

Источник

Последние новости