0

运行 Cocos2d,我偶尔会看到 (0,0) 处出现随机纹理,按比例放大。像这样:

在此处输入图像描述

它是模糊的,因为它被放大了。它根本不应该在那里。通常它伴随着“swapBuffers”错误:

com.apple.main-thread Crashed
0    libGPUSupportMercury.dylib  gpus_ReturnNotPermittedKillClient
1    libGPUSupportMercury.dylib  gpusSubmitDataBuffers
2    IMGSGX543GLDriver   SubmitPackets
3    GLEngine    gliPresentViewES
4    OpenGLES    -[EAGLContext presentRenderbuffer:] + 64
5    MyApp  CCGLView.m line 275
-[CCGLView swapBuffers]
6    MyApp  CCDirectorIOS.m line 174
-[CCDirectorIOS drawScene]
7    MyApp  CCDirectorIOS.m line 532
-[CCDirectorDisplayLink mainLoop:]
8    QuartzCore  CA::Display::DisplayLinkItem::dispatch() + 98
9    QuartzCore  CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 344
10   IOMobileFramebuffer     IOMobileFramebufferVsyncNotifyFunc + 104
11   IOKit   IODispatchCalloutFromCFMessage + 248

我没有使用任何自定义着色器或任何东西。只是由 CCSprite spriteWithTexture 创建的常规 CCSprite。有时纹理只会出现在屏幕上并卡在那里。

我知道这很难调试,因为我无法指出导致这种情况的任何代码部分,因为它是随机发生的。但我希望有人以前见过这个奇怪的纹理问题,并且可能能够就一些要检查的事情提供一些建议。

4

0 回答 0