我有一个自定义的NSView,它具有自己的drawRect。我使用CGContextDrawImage将大量图像绘制到视图中。 NsView在NSScrollView中。我遇到的问题是,在滚动时,drawrect花费的时间太长。滚动不流畅。
我确实尝试将wantlayer设置为true,以启用支持图层的绘图。现在滚动很流畅,直到调用下一个drawrect,即直到下一次必须重新绘制新的dirtyRect。
由于我必须使用drawrect来绘制内容,因此有没有办法改善滚动性能?
如果没有,还有其他选择吗?
更新:
需要花费时间的通话
我尝试了以下Rob的建议(每个图像都使用NSImageView)。有帮助。在设置图像的同时,我还能看到平滑的滚动。
但是我想知道CGContextDrawImage为什么要花时间?特别是rgbaf16_sample_rgbaf_inner。有办法避免吗?