是否有任何howtos?我如何使用Cocoa/CoreText/Quartz進行多線程繪圖
背景畫線的最佳做法是什麼?
可以將[NSView drawRect]中的矩形數據存儲到隊列中並讓後臺線程獲取矩形並創建一些位圖並將數據呈現到位圖中,然後使用performSelectorOnMainThread:withObject來繪製它?或者我可以直接從背景畫出一個背景。
我從Bunny Laden買了一本書「Programming with Quartz 2D」,但還沒有讀過它,書中沒有提到多線程的提示。在正常的Apple API參考頁面中也找不到任何東西。
嗯,我喜歡posix pthreads所有同步的東西。但我的問題是如果NSFont,NSColor,NSImage或石英對應物都是線程安全的 - 至少當我保證我的代碼一次只從一個線程調用一個對象時。如果可能將對象從一個線程傳遞到另一個線程,那麼它們不能使用全局變量或線程局部變量。 – Lothar 2010-08-27 10:37:29
線程安全意味着您不必保證一次只能使用一個線程。如果你能保證那麼問題就解決了。一些gui類必須在主線程中使用 - 這與線程安全無關 - 這是因爲runloops,notificatons等。 NSImage可能屬於這一類。堅持石英和coretext。 – hooleyhoop 2010-08-28 07:38:07