代码之家  ›  专栏  ›  技术社区  ›  Lothar

如何使用Cocoa/CoreText/Quartz进行多线程绘图

  •  1
  • Lothar  · 技术社区  · 14 年前

    有什么方法吗?

    是否可以将[NSView drawRect]中的矩形数据存储在队列中,并让后台线程获取矩形并创建一些位图,将数据渲染到位图中,然后使用performselectornmainThread:withObject到画出来?或者我可以直接从背景画到背景中。

    我从Bunny Laden那里买了一本书“Programming with Quartz 2D”,但还没有读过,书中也没有关于多线程的提示。在正常的appleapi参考页中也找不到任何东西。

    1 回复  |  直到 14 年前
        1
  •  1
  •   hooleyhoop    14 年前

    是的,可以将[NSView drawRect]中的矩形数据存储在队列中,让后台线程获取矩形并创建一些位图,将数据渲染到位图中,然后使用performselectornmainThread:withObject到画出来。

    这与绘图无关,因此没有理由在“使用Quartz 2D编程”中提到它(顺便说一句,这是一本很棒的书-你应该认真阅读它)。您可能需要一本关于多线程的配套书。

    GrandCentralDispatch将提供很大帮助(您没有提到希望支持哪个平台)。