我有一个视图,其中有一些非常复杂的绘图逻辑(它是从 GIS 数据绘制的地图视图)。在主线程上进行此绘图会锁定 UI 并使应用程序无响应。我想将绘图移到后台线程中,例如使用 NSOperation。
最佳结构方式是什么?
我目前正在绘制到离屏 CGContext,然后将其转换为 CGImageRef,然后将其发送到视图以在主线程上进行 blit。不幸的是,这会占用很多内存,并且似乎 GPU 加速不再使用,因为它要慢得多。有没有一种直接从后台线程绘制到视图的方法?我知道 UIKit 不支持多线程,但也许有一些方法可以在绘制时锁定视图?
最佳结构方式是什么?
我目前正在绘制到离屏 CGContext,然后将其转换为 CGImageRef,然后将其发送到视图以在主线程上进行 blit。不幸的是,这会占用很多内存,并且似乎 GPU 加速不再使用,因为它要慢得多。有没有一种直接从后台线程绘制到视图的方法?我知道 UIKit 不支持多线程,但也许有一些方法可以在绘制时锁定视图?