Тестирование и поиск и устранение неисправностей содержания с высокой разрешающей способностью

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

Включите опции с высокой разрешающей способностью на дисплее стандартного разрешения

Прежде чем можно будет установить опции с высокой разрешающей способностью в Кварцевой Отладке, сначала необходимо загрузить ее (если у Вас уже нет копии).

bullet
Загружать Кварцевую Отладку
  1. Откройте Xcode.

  2. Выберите Xcode> Open Developer Tool> More Developer Tools...

    Выбор этого элемента возьмет Вас к developer.apple.com.

    ../Art/gettools_2x.png
  3. Регистрируйтесь к developer.apple.com.

    Необходимо тогда видеть Загрузки для веб-страницы Разработчиков Apple.

  4. Загрузите Графические Инструменты для пакета XCode, содержащего Кварцевую Отладку.

    ../Art/downloadgraphics_2x.png../Art/downloadgraphics_2x.png
bullet
Включить режимы отображения с высокой разрешающей способностью
  1. Кварцевая отладка запуска.

  2. Выберите UI Resolution из Меню окна.

  3. Выберите «Enable HiDPI display modes».

  4. Выйдите из системы и затем войдите в систему, имеют изменение, вступают в силу.

    Это обновляет список Разрешений в Установках системы.

  5. Предпочтения Открытой системы> Дисплеи, и выбирают разрешение, отмеченное как HiDPI.

    ../Art/displays_systemprefs_2x.png

Удостоверьтесь нагрузка изображений @2x на экраны с высокой разрешающей способностью

Прежде, чем выпустить Ваше приложение Вы захотите удостовериться, что @2x отображает загрузку как ожидалось. Пользователи могут сконфигурировать систему с многократными дисплеями, таким образом, что один дисплей является высоким разрешением, и другой - стандартное разрешение. Мало того, что Ваше приложение должно быть подготовлено работать на системах с различными разрешениями экранов, но необходимо гарантировать, чтобы окна приложения работали как ожидалось, когда перетащено от одного дисплея до другого. Когда окно перемещается от стандарта - к дисплею с высокой разрешающей способностью, содержание окна должно обновить для показа соответственно масштабированного изображения.

Один способ проверить, загружается ли изображение правильно в высоком разрешении, состоит в том, чтобы окрасить его. Можно сделать это при помощи окрашивающей изображение опции в Кварцевой Отладке. После включения изображения, окрашивающего любое изображение @2x правильно не измеренное для высокого разрешения, будет казаться крашеным (как показано в изображении справа на рисунке 5-1).

Рисунок 5-1  изображение стандартного разрешения (уехал) и то же изображение окрашенный (право)

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

Рисунок 5-2  , Окрашивающий подробные данные выделений, которые могли быть пропущены

Самый простой способ включить окрашивающую изображение опцию из меню Tools в Кварцевой Отладке v4.2.

Рисунок 5-3  опция расцветки в меню Quartz Debug Tools

Можно также получить доступ к функции из командной строки с помощью Терминала.

bullet
Включать опцию расцветки для всех приложений для данного пользователя (т.е. глобальный домен)
  • Введите следующее:

    defaults write -g CGContextHighlight2xScaledImages YES
bullet
Ограничить расцветку определенным приложением
  • Замена -g с идентификатором пакета того приложения (например, com.mycompany.myapp):

    defaults write com.mycompany.myapp CGContextHighlight2xScaledImages YES

Поиск и устранение неисправностей

Этот раздел решает некоторые типичные проблемы, с которыми Вы могли бы встретиться, поскольку Вы изменяете свое приложение для высокого разрешения.

Средства управления и другие элементы окна являются усеченными или обнаруживаются в нечетных местах

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

Изображения не смотрят как Sharp, как они должны

Если Вы предоставили стандарт - и версии с высокой разрешающей способностью изображений в Вашем приложении, но не думайте, что правильная версия загружается, можно проверить, является ли это при помощи опции расцветки в Кварцевой Отладке (см., Удостоверяются Нагрузка Изображений @2x на Экраны С высокой разрешающей способностью). Если Вы видите крашеное изображение вместо этого, использовать tiffutil проверять калибровку (см. Выполнение Команда Утилиты TIFF в Терминале). Необходимо также удостовериться, что версию с высокой разрешающей способностью называют правильно. Например, удостоверьтесь, что Вы используете нижний регистр x для @2x.

Рисование OpenGL выглядит нечетким

Если рисование OpenGL смотрит немного не в фокусе, удостоверьтесь что:

Объекты неправильно выравниваются

Решение состоит в том, чтобы удостовериться, что Ваше получение выравнивается на границах пикселей вместо того, чтобы полагаться на точки. Вы могли бы также рассмотреть использование Автоматического Расположения для точного пикселем расположения на основе ограничений, работающего хорошо на динамические изменения окна. Для получения дополнительной информации посмотрите Автоматическое Руководство по Расположению.

bullet
Скорректировать позицию объекта упасть на точные границы пикселей
  1. Преобразуйте источник объекта и значения размера от пространства пользователя до пространства устройства.

  2. Нормализуйте значения для падения на точные границы пикселей в пространстве устройства.

  3. Преобразуйте нормализованные значения назад в пространство пользователя для получения координат, требуемых достигнуть желаемых границ пикселей.

  4. Нарисуйте свое содержание с помощью скорректированных значений.