Подтвердить что ты не робот

Android заморозится в OpenGL | ES (процессор может быть привязан, снова пытается.)

Некоторое время назад я столкнулся с проблемой при eglSwapBuffers зависании телефона со следующим сообщением, появляющимся в журнале устройства:

W/SharedBufferStack( 1110): waitForCondition(LockCondition) timed out (identity=28, status=0). CPU may be pegged. trying again.

Я видел дискуссию по этой проблеме по всему Интернету, но единственным решением, которое, как я нашел, имеет какой-либо эффект, является вызов glFinish после eglSwapBuffers. Это решение, однако, приводит к снижению частоты кадров с помощью коллинга 10-20, что далеко не приемлемо.

Проблемы были открыты, и можно найти здесь

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

Я тестирую HTC Desire с Android 2.3.3. Кто-то прокомментировал, что будущие версии должны были устранить эту проблему, но 2.3.3 установлен на таком количестве устройств, что мы не можем игнорировать его.

В любом случае, у кого есть какие-то мысли по этому поводу? Мы очень близки к отправке названия, и эта проблема угрожает расписанием.

4b9b3361

Ответ 1

Я также столкнулся с этой проблемой, я использовал для повторной установки приложения, и он работал у меня. Если нет, просто перезагрузите устройство. Эта проблема связана с внутренними isssue OpenGLES. Вы можете ссылаться на эту ссылку:  Android "cpu может быть привязан" ошибка