【发布时间】:2011-10-09 07:19:27
【问题描述】:
我有一个带有一些非常复杂的绘图逻辑的视图(它是一个从 GIS 数据中绘制的地图视图)。在主线程上执行此绘图会锁定 UI 并使应用程序无响应。我想通过 NSOperation 将绘图移至后台线程。
构建这个的最佳方式是什么?
我目前正在绘制到内存外的 CGContext,然后将其转换为 CGImageRef,我将其发送到视图以在主线程上进行 blit。不幸的是,这会占用大量内存,并且似乎不再使用 GPU 加速,因为它的速度相当慢。有没有办法从后台线程直接绘制到视图?我知道 UIKit 不是多线程安全的,但也许有一些方法可以在我绘制时锁定视图?
【问题讨论】:
标签: ios multithreading uikit core-graphics nsoperation