Timo Heinäpurola
Timo Heinäpurola

Reputation: 431

Android freeze in OpenGL|ES (CPU may be pegged. trying again.)

A while ago I bumped into an issue with eglSwapBuffers freezing the phone with the following message showing up in the device log:

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

I've seen discussion on this issue all over the web but the only solution I've found to have any effect is calling glFinish after eglSwapBuffers. This solution, however, results in the framerate dropping by a whooping 10-20, which is far from acceptable.

Issues have been opened and one can be found here

Someone commented that using square textures eliminated the issue. By square I initially thought he meant power-of-two textures but after making sure I was not using any non-power-of-two textures and not getting rid of the issue I began to think that he might have actually meant textures with matching width and height?

I'm testing on an HTC Desire with Android 2.3.3. Someone commented that future versions should have fixed this issue but 2.3.3 is installed on so many devices that we can't disregard it.

Anyway, anyone have any thoughts on this? We're very close to shipping a title and this issue is threatening out schedule.

Upvotes: 37

Views: 2489

Answers (1)

user1455310
user1455310

Reputation:

I also came across this issue, I used to re-install the Application and it worked for me.If not, then simply reboot your device.This issue is related to internal isssue of OpenGLES.You can refer this link: Android "cpu may be pegged" bug

Upvotes: 1

Related Questions