绘画限制

来源:互联网 发布:excel数据后的空格删掉 编辑:程序博客网 时间:2024/04/28 14:49

绘画限制
Application Kit 在使用它的绘画函数和类时通常是线程安全的,包括

NSBezierPath NSString类。关于使用这些类的详细信息,在以下各部分介绍。关于绘画的额外信息和线程可以查看Cocoa Drawing Guide
a) NSView限制

NSView 通常是线程安全的,包含几个异常。你应该仅在应用的主线程里面执行对NSView的创建、销毁、调整大小、移动和其他操作。在其他辅助线程里面只要你把绘画的代码放在lockFocusIfCanDrawunlockFocus方法之间也是线程安全的。

如果应用的辅助线程想要告知主线程重绘视图,一定不能在辅助线程直接调用display,setNeedsDisplay:,setNeedsDisplayInRect:,或setViewsNeedDisplay:方法。相反,你应该给给主线程发生一个消息让它调用这些方法,或者使用performSelectorOnMainThread:withObject:waitUntilDone:方法。

系统视图的图形状态(gstates)是基于每个线程不同的。使用图形状态可以在单线程的应用里面获得更好的绘画性能,但是现在已经不是这样了。不正确使用图形状

2011-11-28 |  ©  2011  YouMi  Mobile  Co.  Ltd.  All  Rights  Reserved.        [83]

Threading Programming Guide

page88image920
原创粉丝点击