
它不是在第一帧中崩溃,它画了一段时间,然后它突然崩溃.
我没有确切的步骤来复制,但似乎与绘制特定的东西有关,仍然没有通过应用程序报告的openGL错误,包括一个错误检查在presentFrameBuffer之前.如果我在flashFinish之前添加了glFinish,那么在FlashFlash中将会崩溃.
应用程序正在使用EXC_BAD_ACCESS(code = 1,address = 0x1)和上述callstack而无任何其他错误/ log / deBUG信息崩溃.
这是崩溃报告的callstack:
线程1,队列:com.apple.main-thread
> #0 0x36871e46 in gpus_ReturnGuiltyForHarDWareRestart ()> #1 0x36872764 in gpussubmitDataBuffers ()> #2 0x31eae624 in submitPacketsIfAny ()> #3 0x378a337a in gliPresentVIEwES ()> #4 0x325b6df2 in -[EAGLContext presentRenderbuffer:] ()> #5 0x0052986e in EAGLContext_presentRenderbuffer(EAGLContext*,objc_selector*,unsigned int) ()> #6 0x000e2a48 in -[EAGLVIEw presentFramebuffer] at /svn/src_svn/GG/iphone/Classes/EAGLVIEw.mm:228> #7 0x000e4066 in -[GGVIEwController drawFrame] at /svn/src_svn/GG/iphone/Classes/GGVIEwController.mm:504> #8 0x3809ab0a in __NSFireTimer ()> #9 0x39d36856 in __CFRUNLOOP_IS_CALliNG_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ ()> #10 0x39d36502 in __CFRunLoopDoTimer ()> #11 0x39d35176 in __CFRunLoopRun ()> #12 0x39ca823c in CFRunLoopRunspecific ()> #13 0x39ca80c8 in CFRunLoopRunInMode ()> #14 0x39b9333a in GSEventRunModal ()> #15 0x3551b288 in UIApplicationMain ()> #16 0x000e1bae in main at /svn/src_svn/GG/iphone/main.m:14
有人对此有任何线索吗?
解决方法 如果您使用的是VAO,则可能由引用顶点超出顶点缓冲区限制(VBO)的索引缓冲区(元素数组缓冲区)引起.请记住,元素数组缓冲区存储在VAO中,因此只要VAO被绑定,则每次调用glBindBuffer(GL_ELEMENT_ARRAY_BUFFER)将替换索引缓冲区.如果您在移动到场景的下一个对象时忘记解除VAO的绑定,您将会更改以前通话的VAO.
更多信息:http://www.opengl.org/wiki/Vertex_Specification#Index_buffers
并且调试提示:超大你的顶点缓冲区,它可能会将这个崩溃变成一个故障,然后您可以使用XCode的OpenGL ES框架捕获工具(这需要XCode 4.5和iOS 6)进行检查.
总结以上是内存溢出为你收集整理的iphone – gpus_ReturnGuiltyForHardwareRestart崩溃全部内容,希望文章能够帮你解决iphone – gpus_ReturnGuiltyForHardwareRestart崩溃所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)