0

我有一个自定义的 NSView,它有自己的 drawRect。我使用 CGContextDrawImage 将很多图像绘制到视图中。NsView 在 NSScrollView 中。我遇到的问题是,在滚动时,drawrect 需要的时间太长。滚动不流畅。

我确实尝试将 Wantlayer 设置为 true,以启用支持图层的绘图。现在滚动是平滑的,直到调用下一个drawrect,即直到下一次必须重新绘制一个新的dirtyRect。

由于我必须使用drawrect来绘制内容,有没有办法提高滚动性能?

如果没有,是否有替代方案?

更新:

需要时间的电话。

在此处输入图像描述

我尝试了 Rob 下面的建议(对每个图像使用 NSImageView)。这有帮助。我在设置图像时也看到平滑滚动。

但我想知道为什么 CGContextDrawImage 需要时间?特别是 rgbaf16_sample_rgbaf_inner。有没有办法避免它?

4

0 回答 0