我對OSN Cocoa編程相當新,但已決定使用新的Swift語言。基於NSTableview View的滾動性能
我有一個NSTableView
與1500行(將更多)和7列。有一個複選框列,其餘的是文本字段,其中一個是日期格式的,另外一個是貨幣格式化程序。我首先將其設置爲基於單元格。滾動是but smooth順暢(我甚至做了一個測試,增加了100萬行,仍然平穩)。這是在特立獨行之下。
然後我升級到優勝美地,滾動性能明顯退化。在桌面視圖上啓用核心動畫層複選框可以改善這一點,但仍然比在特立獨行的情況下更糟。
在我的閱讀嘗試提高優勝美地的滾動性能期間,我遇到了「基於視圖」的NSTableViews。從文檔說,基於單元格的表格視圖通常不應該使用,並且只支持傳統項目。
因此,我將表格轉換爲基於視圖的表格視圖。示例簡單的概念,沒有什麼複雜滾動表現絕對糟糕。如果您的滾動速度非常緩慢,但它足夠平滑,但只要您開始更快地滾動滾動,就像它沒有足夠緩衝,並且它開始出現口吃和抽搐。另外,當人口數量較多時,聚焦和散焦窗口需要一秒或更多時間(我再次在小牛隊嘗試過,但這並不存在,滾動效果也稍微好一點,但仍然遠不及細胞基礎)。
是否基於NSTableviews
總是不利於滾動性能?如果是這樣的話,爲什麼蘋果推薦在基於單元的NSTableviews
上使用它們。
另外一些應用程序,如safari和Reeder2,即使在優勝美地也有順滑的滾動效果。他們如何實現這一目標?
我是否錯過了某些東西,或者是OS X的表現會隨着每一件新事物而下地獄?即
小牛>約塞米蒂
細胞爲基礎>查看基於
舊>新
任何幫助深表感謝。謝謝!
你解決了這個問題嗎? – 2014-12-28 18:49:40
不是。不幸的是,我已經停止開發,並在調用它之前在OS X的下一個版本中再次嘗試。 – Gavin 2015-01-17 11:56:13
您是否報告過雷達上的錯誤?並不是說蘋果會在意,而是出於好奇。我真的覺得,蘋果真的很生氣。只要我在我的大表中使用TextFields,它很流暢,但是一旦我添加了Colorbox/TextField視圖,它就會在滾動時開始吃掉所有的CPU。優勝美地吸收> :-( – 2015-02-20 22:56:30