共有ivarへのアクセスをシリアル化するためにGCDを使用するCAEAGLLayerの実行ループメソッドがあります。
私の描画コードは現在、次のように構成されています。
- (void)draw {
dispatch_sync(serialDrawingQueue, ^{
@autoreleasepool {
[self drawingStart];
[spriteA draw];
[spriteB draw];
[self drawingEnd];
}
});
}
このdrawメソッドは、CADisplayLinkによって呼び出されます。@autoreleasepoolGCDブロックを使用する場合は必要ですか?