2
我有一個分開的NSTextView,我在一個單獨的線程中操作(使用performSelectorOnMainThread:withObject:waitUntilDone :)使用選擇器replaceCharactersInRange:withString:,setSelectedRange:和insertText :.我正在經歷文本閃爍,並且由於NSTextView更新了每個操作的顯示,所以性能很差。控制NSTextView更新來處理閃爍和提高速度
有關如何控制何時更新顯示的建議,所以我只能在實際需要時更新它?我嘗試使用各種組合setNeedsDisplay:NO(來自主線程和後臺線程,在更新之前和之後),這似乎被忽略。
在此先感謝任何能提供一些見解的人。
是的。 Cocoa文本系統經過高度優化,如果按照應用的方式使用,您肯定會獲得良好的性能。在這種情況下,修改底層'NSTextStorage'對象,它只是'NSAttributedString'的子類,而不是修改視圖,這是一種大錘方法。 – 2010-04-12 02:10:56
謝謝!使用NSTextStorage對象以及我修改文本的方式的一些優化的組合完成了這個訣竅。 – stdout 2010-04-14 12:33:40