opengl_error_break - PullRequest
       5

opengl_error_break

3 голосов
/ 15 июля 2009

Я занимаюсь разработкой игры для iPhone, и я довольно далек от этого, но при использовании Instrument меня беспокоит одна вещь: я вижу, что то, что называется opengl_error_break, отнимает много ценного времени. Кажется, что вызывающей стороной является MBXGLEngine, которая является частью инфраструктуры OpenGLES, но я понятия не имею, что она делает или как ее отлаживать.

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

Ответы [ 3 ]

1 голос
/ 25 сентября 2010

Это красная сельдь. На самом деле время тратится на другие функции OpenGL, но инструменты сбиты с толку.

В некоторых версиях OS / SDK все символы OpenGL скрыты, кроме opengl_error_break (что позволяет продолжать устанавливать для него точку останова). Это смущает инструменты (и акула). В основном, Instruments знает, что выполнение находится в библиотеке OpenGL, но поскольку единственный символ, который он может найти, это opengl_error_break, он догадывается (неправильно), что opengl_error_break выполняется.

Это объяснено разработчиком Apple на форумах разработчиков Apple. Более поздний ответ становится более подробным.

0 голосов
/ 15 июля 2009

Не ответ, но эта страница предполагает, что этот символ полезен для получения точки останова при ошибке OpenGL ES. Это, конечно, противоречит сообщениям типа this , в которых утверждается, что их код выполняется без сообщений об ошибках от OpenGL ES, но зато тратит время на выполнение этой функции. Weird.

0 голосов
/ 15 июля 2009

Работаете ли вы на OS 3.0?

Я видел такое же поведение при кратком тестировании на старом iPhone с ОС 3.0.

Я не придумал объяснения, хотя подозревал, что, возможно,
реализация GL ES извергла в меня ошибки. Это не было.

Я пытался оптимизировать частоту кадров, поэтому в итоге я проигнорировал это
и просто сосредоточился на снижении «использования рендерера».
Теперь я достигаю своей частоты кадров, и все хорошо, что конец хорошо.

Все еще любопытно по поводу opengl_error_break. Я никогда не вижу его на своем iPodTouch / 2.x.

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