我有数十万个时间序列数据点需要向用户呈现。我目前的解决方案是使用第三方库将数据渲染成PNG格式,然后将该PNG加载到
NSImage
中,并在滚动视图中显示它。这个方法非常好,但存在以下问题:
- 超过32k像素宽度的NSImages无法正确显示
- 我想能够快速轻松地缩放数据
- 从磁盘读取和写入数据很麻烦
我的当前尝试是直接在NSView
上绘制NSBezierPath
。视图渲染得非常漂亮,但非常缓慢,即使我一次只绘制有限的点集。每次滚动时都需要重新绘制,这也很慢。
作为一个相对较新的Cocoa程序员,我相信我错过了一些更好的方法来做到这一点。哪种是“正确”的方法?