Получу ли я большой штраф за производительность, когда UIView ниже EAGLView? - PullRequest
0 голосов
/ 06 июля 2011

У меня есть EAGLView, который имеет EAGLLayer в качестве заднего слоя. Мое приложение на основе UIKit, но я хочу отобразить диаграмму на основе OpenGL в полноэкранном режиме. Было бы трудно удалить базовый вид, и я просто хочу отобразить этот EAGLView поверх чего-либо еще (добавив его в качестве подпредставления в окно).

Конечно, мой EAGLView непрозрачен. Ничто не просвечивает. Я думаю, что это было бы хорошо, но, может быть, кто-то может судить по опыту, если это плохо? Достаточно ли умна система, чтобы обнаружить, что самым верхним является слой OpenGL и на экране ничего больше нет, просто игнорируя то, что находится под этим слоем OpenGL?

1 Ответ

1 голос
/ 06 июля 2011

С точки зрения процессора, я не думаю, что вообще есть штраф, если EAGLView является непрозрачным на 100%. С другой стороны, если вы не удалите свое представление из стека представлений, оно будет использовать память без веской причины.

Итак, я думаю, что ответ зависит от того, сколько места занимает представление и насколько интенсивно используется память и вычисления в EAGLView. Вы, вероятно, получите большой штраф за производительность, если по какой-то причине представление будет uitableview с 1000 ячеками, которые не используют dequeueReusableCellWithIdentifier, но не получат никакого штрафа вообще, если у вас есть простой uiview

Мое честное мнение по этому поводу состоит в том, что вы можете узнать это, только если действительно попробуете.

...