Лучше не использовать эффекты openGL на старых устройствах или поддерживать производительность slooooow?

Мое приложение следует тенденции "сделать все сверкающим", которая отлично смотрится на iPhone4+ и iPad2+, но немного задыхается на старых устройствах. Есть два маршрута на выбор:

  1. Держите тот же самый взгляд на приложении несмотря ни на что. Примите, что у некоторых пользователей будет долгое время загрузки. По моему опыту, это, кажется, самый распространенный подход, но некоторые замечательные приложения (Sword & Sworcery) имеют недопустимо долгое время загрузки на iPhone 3G, например.

  2. Определите модель телефона и решите (основываясь на моих тестах) пропустить некритические анимации или эффекты на старых устройствах. Это рискует, если кто-то увидит его в старом приложении и подумает: "Это приложение выглядит нормально, я думаю", а не "вау".

Помимо "это зависит от контекста", существует ли "наилучшая практика" или отраслевой стандарт по этому вопросу?

РЕДАКТИРОВАТЬ: То, что я использую (что может быть более объективно полезным, скептики) это то, что уменьшено от великого, но большего класса Эрики Садун:

+ (NSString *) platform {
  char *m = (char *)"hw.machine";
  return [self getSysInfoByName:m];
}

+ (BOOL) deviceIsLegacy {
  NSString *platform = [self platform];
  // LEGACY DEVICES:
  // iPhone 1, iPhone 3G
  // iPod 1, iPod 2
  // iPad 1

  if ([platform isEqualToString:@"iPhone1,1"]) return YES;
  else if ([platform isEqualToString:@"iPhone1,2"]) return YES;
  else if ([platform isEqualToString:@"iPod1,1"]) return YES;
  else if ([platform isEqualToString:@"iPod2,1"]) return YES;
  else if ([platform isEqualToString:@"iPod2,2"]) return YES;
  else if ([platform isEqualToString:@"iPad1,1"]) return YES;

  return NO;
}

1 ответ

Решение

Я думаю, что единственная "лучшая практика", которая имеет отношение к вашей ситуации, это та, которая говорит: не заставляйте пользователя ждать, если вам не нужно 100%!

И если вы беспокоитесь о брендинге, ну, это не проблема: вы можете принять решение не поддерживать старые устройства (с которыми я лично не согласен), или вы можете посмотреть и увидеть, что сами Apple не реализуют то же самое интерфейс с магией в старых устройствах. Они не показывают классный Siri на старых устройствах (вы можете поспорить, если по причинам, связанным с продажами или процессором), и они не допускают определенные графические элементы, такие как фоновые изображения.

Многим людям нравится иметь фоновые изображения или многозадачность в их 3G, но когда они делают джейлбрейк и позволяют это, они узнают, почему Apple отключила его.

Вы можете, однако, добавить небольшой значок, который гласит: "Лучше всего смотреть на новых устройствах", но это может сделать ваших клиентов грустными или завистливыми, так что...

Другие вопросы по тегам