滚动时NSTableView非常迟钝

Pro*_*tto 5 macos performance core-data nstableview swift

在我的OS X应用程序中,使用Core Data我的表视图在滚动时非常滞后,我只有大约100多行......我正在使用Cocoa绑定NSArrayController在表视图中显示我的数据.

我只有一个具有13个属性的实体,但仍然表视图/滚动视图非常滞后.

是否存在导致该行为的常见错误/错误编码?我在滚动时的CPU使用率约为85%.

任何人都有任何想法为什么会这样?我正在使用Xcode 7发布的版本.

更新:

仪器看起来像这样(我第一次使用它): 在此输入图像描述

更新2:我使用NSVisualEffectView并覆盖allowVibrancy返回true所以我得到的表视图替代行颜色就像在我的另一个项目Github-Debter中一样

如果我为我的视图启用了核心动画层,它对滚动有很大的帮助,但是我的故事板开始做一些简单的东西,我不能再用任何UI相关的东西了.

Ene*_*nso 1

如果没有看到你的代码UITableView delegatedata source很难知道确切的问题。

一些坏习惯是:

  • 通过任何方法UITableViewDataSource或在UITableViewCell渲染时从 CoreData 加载数据。
  • 在主线程加载图像或在后台加载图像而不将它们缓存在本地存储上。
  • tableViewCellForIndexPath在或其他数据源方法上执行复杂的操作(例如图像处理) 。

一些可能帮助您找到问题的问题:

  • 您使用的是吗NSFetchedResultsController?如果您的数据集很长(尽管您提到不是),它可以提高性能。
  • 你检查过线程数吗?如果它太高,您可能需要使用 来NSOperationQueue限制您的后台任务。