2

レイヤーの init 内で SDWebImage を使用して画像をダウンロードしています。

このようなもの:

    NSURL *thumbnailURL = playerFacebookID.stringValue;        
    [[SDWebImageManager sharedManager] downloadWithURL:thumbnailURL
                                              delegate:self
                                               options:0
                                               success:^(UIImage *image) {
                                                   CCTexture2D *texture = [[CCTexture2D alloc] initWithCGImage:[[image resizeAndCropToSize:CGSizeMake(kThumbnailSizeInPixels, kThumbnailSizeInPixels)] CGImage] resolutionType:kCCResolutioniPhone];
                                                   localPlayerThumbnail.texture = texture;
                                                   [texture release];
                                               }
                                               failure:nil];

画像は正常に読み込まれて動作しますが、ブロックが開始されてからしばらくの間、次のような Open GL エラーが発生します。

OpenGL error 0x0506 in -[CCSprite draw] 544
OpenGL error 0x0506 in -[CCSprite draw] 544
OpenGL error 0x0506 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556
OpenGL error 0x0506 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556
OpenGL error 0x0506 in -[CCSprite draw] 544

奇妙なことに、ブロック内のコードを削除しても、基本的に SDWebImageManager からの戻りブロックは何もしませんが、それでもエラー メッセージが表示されます。したがって、テクスチャの読み込みやサイズ変更機能とは関係ありません。

現時点で考えられる唯一のことは、SDWebImageManager が Open GL コンテキストを変更しているか、Cocos2d ドローコールを中断している何かを行っているということです。

4

0 に答える 0