Macos 透明NSTextView性能
我有一个NSWindow,上面有一个NSImage和一个NSTextView,上面有一个长文本,如果我用坚实的背景绘制,文本编辑速度很快 但是如果我在没有背景的情况下画画,Macos 透明NSTextView性能,macos,cocoa,nstextview,Macos,Cocoa,Nstextview,我有一个NSWindow,上面有一个NSImage和一个NSTextView,上面有一个长文本,如果我用坚实的背景绘制,文本编辑速度很快 但是如果我在没有背景的情况下画画,[self-setDrawsBackground:no]速度非常慢 有更新吗?我也试过了 [self setDrawsBackground:YES]; [self setBackgroundColor:[NSColor clearColor]]; 可能使用NSTextView的setBackgroundFilte
[self-setDrawsBackground:no]
速度非常慢
有更新吗?我也试过了
[self setDrawsBackground:YES];
[self setBackgroundColor:[NSColor clearColor]];
可能使用NSTextView的setBackgroundFilters
谢谢 我找到了部分解决方案。如果禁用字体的平滑处理,则性能会大大提高。 首先,必须有一个子类NSTextView。 那么 此外,您可以使用:
self.textview.layoutManager.allowsNonContiguousLayout = YES;
稍微提高性能
这与不透明背景不同,但有帮助。我找到了部分解决方案。如果禁用字体的平滑处理,则性能会大大提高。 首先,必须有一个子类NSTextView。 那么 此外,您可以使用:
self.textview.layoutManager.allowsNonContiguousLayout = YES;
稍微提高性能
这与不透明背景不同,但有帮助。我认为问题与图像大小有关,而不是与文本视图有关:它将在图像视图上执行重新绘制/更新请求,这可能会很昂贵。您能否跟踪图像的重画和/或使用分辨率非常小的图像进行测试?图像不是问题所在,如果删除图像,问题仍然存在。问题是透明NSTextView的性能…好的,我明白了。我脑子里最后想到的一件事(否则我不知道):文本视图的大小是动态的吗?然后一个测试显然是确定它的大小,以便将其从罪犯列表中排除。是的,它的最大高度为10000000,否则我不能使用长文本。顺便说一句,这是在Interface Builder中添加NSTextView时的默认值。是否尝试在视图上启用核心动画层?这可能会带来一点性能提升。我认为问题与图像大小有关,而不是与文本视图有关:它将在图像视图上执行重新绘制/更新请求,这可能会很昂贵。您能否跟踪图像的重画和/或使用分辨率非常小的图像进行测试?图像不是问题所在,如果删除图像,问题仍然存在。问题是透明NSTextView的性能…好的,我明白了。我脑子里最后想到的一件事(否则我不知道):文本视图的大小是动态的吗?然后一个测试显然是确定它的大小,以便将其从罪犯列表中排除。是的,它的最大高度为10000000,否则我不能使用长文本。顺便说一句,这是在Interface Builder中添加NSTextView时的默认值。是否尝试在视图上启用核心动画层?这可能会带来一点性能提升。