带有大量contentView的NSScrollView在滚动时导致可怕的性能

时间:2017-07-26 03:09:11

标签: macos cocoa nsscrollview

我正在尝试绘制一个放置在NSView内的NSScrollView的大波形/图形。这样,用户可以一次水平滚动和部分滚动。

波形视图可能非常大(技术上,无限宽)。

如果绘制整个波形,则滚动性能不可用。我不确定为什么NSScrollView试图重绘整个视图而不仅仅是可见的矩形 - 但我怀疑我需要自己实现这个逻辑。

实现此功能以获得良好滚动体验的最有效方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以平铺滚动视图的内容为几个小NSView个实例,每个实例代表图表的一小部分并且彼此相邻放置。

但是,我不确定在屏幕外剪切的视图在多大程度上仍会消耗资源并影响性能。

更好的应用程序与上述类似,但依赖于集合视图的内置功能。它的机器肯定只显示应该可见的单元格(不会被滚动视图剪切)。