У меня есть приложение для iPhone, которое, среди прочего, позволяет пользователям хранить фотографии. Когда в хранилище данных приложения добавляется новая фотография, я кэширую миниатюру версию изображения, чтобы уменьшенная нагрузка на изображение уменьшала нагрузку в разумные сроки.Обновление сохраненных изображений для Retina Display
Проблема заключается в том, что эти миниатюры отлично смотрятся на экране предварительного Retina Display, но они выглядят немного размытыми на дисплеях RD. Не так уж плохо, что изображения непригодны для использования, но мне бы очень хотелось получить все преимущества Retina Display для пользователей изображений, сохраненных в старых версиях моего приложения.
Проблема в том, что повторное создание всех этих миниатюр занимает слишком много времени. В моих тестах потребовалось около полутора минут, чтобы перекодировать образец базы данных на миниатюры с высоким разрешением (правда, большой) на моем iPhone 4. Это будет еще хуже на более старом оборудовании.
Как я могу обойти это? Из-за вышеизложенных результатов можно сделать одноразовую миграцию. Другими параметрами являются сжатие эскизов лениво (т. Е. Пока они отображаются на экране), а затем сохраняя их в базе данных в этой точке. Экран, полный старых изображений, будет вялым в первый раз, когда они будут просмотрены, а затем более быстрым после этого.
Есть ли другие подходы к рассмотрению? Кто-нибудь еще столкнулся с этой проблемой?
-1. Изображения эффективно обрабатываются как текстуры на графическом процессоре, и (насколько мне известно) используют бикубическую интерполяцию по умолчанию. – 2010-11-23 03:38:09