Возможно ли / эффективно выполнять переключение между представлением OpenGL ES и UIView в одном приложении? - PullRequest
1 голос
/ 21 июля 2009

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

Я знаю, что вы можете как-то смешивать OpenGL ES с UIView, но люди говорят, что это плохая идея. Это также применимо, если все это полноэкранное либо openGL ES || UIView

Ответы [ 3 ]

2 голосов
/ 21 июля 2009

В моем приложении я также смешиваю элементы OpenGL и Cocoa UI без плохих результатов. Я даже помещаю UIView s поверх представления OpenGL, и результат работает хорошо. Если вы хотите это увидеть, в моем профиле вы найдете ссылку.

1 голос
/ 21 января 2010

На iPhone вы всегда визуализируете в UIView, и у этого представления могут быть подпредставления, как и у любого другого.

Нет никакой разницы между наличием одного представления OGL и заменой множества представлений (включая одно представление OGL) с помощью контроллера навигации или основной анимации.

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

Убедитесь, что ваш вид OGL настроен как непрозрачный и не использует пиксельный формат с альфа-каналом, если в этом нет особой необходимости. Альфа-смешанные просмотры OGL медленные.

1 голос
/ 21 июля 2009

Вы определенно можете сделать это; У меня есть приложение OpenGLES, которое использует UIAlerts и UIActionSheets, и оно отлично работает. Я думаю, вы просто хотите избежать чего-то вроде наличия слоя OpenGL, а затем связки элементов пользовательского интерфейса и еще одного прозрачного слоя OpenGL поверх этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...