我有一个 CAEAGLLayer 的运行循环方法,它使用 GCD 序列化对共享 ivars 的访问。
我的绘图代码目前是这样构造的:
- (void)draw {
dispatch_sync(serialDrawingQueue, ^{
@autoreleasepool {
[self drawingStart];
[spriteA draw];
[spriteB draw];
[self drawingEnd];
}
});
}
该draw
方法由 CADisplayLink 调用。@autoreleasepool
使用 GCD 块时有必要吗?