Лучшая техника для iPad 1 против iPad 2?

Производительность iPad 2 GPU лучше, чем iPad 1. Я бы хотел переключить свое приложение и добавить дополнительную приятную графическую тонкость, когда я знаю, что GPU может справиться с этим.

Поэтому я хотел бы иметь возможность существенно различать различия между iPad 1 и 2 (и позже), в идеале использующим как можно ближе к обнаружению возможностей. Есть много несвязанных вещей, которые я мог бы включить (наличие камеры и т. Д.), Но в идеале я хотел бы найти что-то, возможно, функцию OpenGL, которая больше отличает GPU.

На этой странице Apple нет ничего полезного для iPad 1 и 2, и в этой статье рассказывается о различиях в бенчмаркинге и графическом процессоре, но не указывает на то, что похоже на запрос напрямую (например, количество единиц текстуры или что-то еще).

У кого-нибудь есть мысли о том, как это сделать, или я пропущу что-то очевидное? Благодарю.

Для одного различия вы можете запросить максимальный размер текстуры. На iPad 2 и iPhone 4S максимальный размер текстуры составляет 4096 x 4096, где на всех других устройствах iOS 2048 x 2048. Мне кажется, что это безопасное предположение, что будущие более мощные устройства iOS также будут иметь максимальную текстуру размер по крайней мере этого большого.

Чтобы запросить максимальный размер текстуры, сначала создайте контекст OpenGL ES, затем установите его как текущий контекст и выполните следующий запрос:

GLint maxTextureSize; glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTextureSize); 

На моем iPhone 4 это возвращает 2048 в maxTextureSize, но на моем iPad 2 и iPhone 4S это возвращает значение 4096.

Вы также можете проверить наличие некоторых новых расширений, поддерживаемых iPad 2, таких как EXT_shadow_samplers (подробнее описаны в « Что нового в iOS: iOS 5.0 »), но эти тесты будут работать только на iOS 5.0. Остальные на iOS 4.x не будут иметь эти возможности.

Сегодня с большим количеством графических процессоров, вот что я придумал для своих нужд.

 enum GpuClass { kGpuA5 = 0, kGpuA6, kGpuA7, kGpuA8, kGpuUnknown, } ; - (enum GpuClass)reportGpuClass { NSString *glVersion = [NSString stringWithUTF8String:(char *)glGetString(GL_VERSION)]; if ([glVersion containsString:@"Apple A5"] || [glVersion containsString:@"S5L8"]) { NSLog(@"Running on a A5 GPU"); return kGpuA5; } if ([glVersion containsString:@"Apple A6"] || [glVersion containsString:@"IMGSGX5"]) { NSLog(@"Running on a A6 GPU"); return kGpuA6; } if ([glVersion containsString:@"Apple A7"] || [glVersion containsString:@"G6430"]) { NSLog(@"Running on a A7 GPU"); return kGpuA7; } if ([glVersion containsString:@"Apple A8"] || [glVersion containsString:@"GXA6850"]) { NSLog(@"Running on a A8 GPU"); return kGpuA8; } return kGpuUnknown; } 

Вы можете дополнительно различать конкретные фишки, указав более полные номера версий. например, укажите IMGSGX543 вместо IMGSGX5.

  • Проблемы с загрузкой NKAssetDownload
  • atos и dwarfdump не будут символизировать мой адрес
  • NSFileHandle writeData: обработка исключений
  • Не удается найти iPad Air 2 с симулятором iOS 8.1.2 на Xcode
  • Ориентация запуска iPad при плоской поверхности
  • App Store не показывает мое приложение после утверждения
  • Переход на iOS 7: правильная настройка видового экрана для jQuery / iPhone Webapps, просматриваемых на iPad
  • Визуализация иерархии представлений в iOS
  • вырезать nsstring после специального символа в iphone
  • IPad создает программно UITableViewCell
  • конвертировать UIImage в NSData
  • Interesting Posts

    Как удалить метку описания в ios-chart?

    Поведение языка RTL в iOS 9

    Условное связывание: если ошибка – инициализатор для условного привязки должен иметь необязательный тип

    Тестирование покупок In-App на iOS

    UIToolbar слайды в строке состояния

    Изображение не загружалось ниже видимой области UITableViewCell при выполнении кэширования изображений с использованием SDWebImage – Swift 3

    Как обновить DetailView с помощью шаблона приложения MasterDetail

    Swift делегат и факультативный

    Использование shouldChangeCharactersInRange для ограничения введенных символов, но не может обнаружить возврат

    UILabel: пользовательский цвет подчеркивания?

    UItextView отключает клавиатуру при нажатии вне текстового поля

    Swift split string при первом совпадении символа

    Вызывает – хорошая идея?

    Удаление загрузочного экрана gif из приложения Cordova

    Получение имени продукта приложения iPhone во время выполнения?

    Давайте будем гением компьютера.