我有一个运行循环方法,用于CAEAGLLayer,并使用GCD对共享的ivars进行串行访问。
我的绘图代码目前构建如下:
- (void)draw {
dispatch_sync(serialDrawingQueue, ^{
@autoreleasepool {
[self drawingStart];
[spriteA draw];
[spriteB draw];
[self drawingEnd];
}
});
}
draw
方法由CADisplayLink调用。当我使用GCD块时,@autoreleasepool
是必需的吗?