Android 冻结在 OpenGL|ES 中(CPU 可能被固定,重试)
Android freeze in OpenGL|ES (CPU may be pegged. trying again.)
不久前,我遇到了eglSwapBuffers
冻结手机的问题,设备日志中显示以下消息:
W/SharedBufferStack( 1110): waitForCondition(LockCondition) timed out (identity=28, status=0). CPU may be pegged. trying again.
我已经在网上看到了关于这个问题的讨论,但我发现唯一有效的解决方案是在eglSwapBuffers
后打电话给glFinish
。然而,这种解决方案导致帧率下降了 10-20,这是远远不能接受的。
问题已打开,可以在此处找到
有人评论说,使用方形纹理消除了这个问题。我最初认为他的意思是二次幂纹理,但在确保我没有使用任何非二次幂纹理并且没有摆脱这个问题后,我开始认为他实际上可能是指宽度和高度匹配的纹理?
我正在测试带有Android 2.3.3的HTC Desire。有人评论说,未来的版本应该已经解决了这个问题,但是2.3.3安装在很多设备上,我们不能忽视它。
无论如何,有人对此有任何想法吗?我们非常接近发布游戏,这个问题正在威胁到时间表。
我也遇到了这个问题,我曾经重新安装过该应用程序,它对我有用。如果没有,则只需重新启动设备即可。此问题与OpenGLES的内部问题有关。您可以参考此链接: 安卓"cpu 可能被钉住"错误
相关文章:
- 如何将stdout重定向到stderr
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- QTableView:endMoveRows在模型中重置水平页眉大小
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 编写时C++中的输入重定向问题
- C libcurl错误重试
- 使用boost :: Beast进行CPU重的REST API,我是否应该使用异步或同步方式来实现它们以期望延迟
- 为什么当循环再次运行时,此输出"请重试"?
- 网络tcp套接字应用程序重试方法
- 正在重试包含同一异常的exception_ptr的多个实例
- 未收到确认时如何执行数据包重试
- 出现异常后重试本地静态变量初始化
- GetAsyncKeyState() 非常重 CPU ?我是否正确使用它
- LIBMEMCACHED :服务器已失败并禁用,直到定时重试
- Android 冻结在 OpenGL|ES 中(CPU 可能被固定,重试)
- 从catch块中的函数重试
- 在Poco 1.5.x中使用锁定的SQLite数据库重试
- CURL请求失败重试方法
- "相机正在使用中。关闭使用它的所有应用程序,然后重试。在黑莓 Z10 中调用黑莓 10 级联中的相机时
- 正在重试异常