我是OS X Cocoa编程的新手,但已经决定使用新的Swift语言.
我有NSTableView1500行(将更多)和7列.有一个复选框列,其余是文本字段,一个带有日期格式,另一个带有货币格式器.我首先将其设置为基于单元格.滚动是黄油平滑的(我甚至做了一个测试,增加了100万行,仍然很平滑).这是在小牛队.
然后我升级到Yosemite,滚动性能明显降低.在表视图上启用Core动画层复选框改进了这一点,但仍然比在小牛队中更糟糕.
在我试图提高优胜美地的滚动性能时,我遇到了"基于视图"的NSTableViews.从文档中可以看出,基本上不应该使用基于单元格的表视图,并且只支持旧项目.
因此,我将我的表转换为基于视图的表视图.样本简单概念,没什么复杂的.滚动表现绝对可怕.如果你滚得非常慢,它就足够平滑,但是一旦你开始滚动得更快,就像它没有足够的缓冲一样,它会开始出现口吃和抽搐.此外,当NSTableview填充时,对焦和散焦窗口需要一秒钟或更长时间(我再次在小牛队中尝试过这个并不存在,滚动也好一点,但仍然没有接近基于单元格).
基于视图NSTableviews总是不利于滚动性能吗?如果是这样,苹果为什么建议使用基于细胞的NSTableviews.
此外,一些应用程序,如safari和Reeder2即使在约塞米蒂也有黄油平滑滚动.他们是如何做到这一点的?
我是否遗漏了某些东西,或者OS X的性能是否会随着每件新事物而下地狱?即
小牛队>优胜美地队
基于单元格>基于视图
旧>新
任何帮助深表感谢.谢谢!