gpt4 book ai didi

macos - 透明的NSTextView性能

转载 作者:行者123 更新时间:2023-12-03 17:19:45 26 4
gpt4 key购买 nike

我有一个带有NSImage的NSWindow和一个上面带有长文本http://www.gutenberg.org/cache/epub/100/pg100.txt的NSTextView,如果我用纯色背景绘制,则文本编辑很快。

但是,如果我没有背景绘制,则[self setDrawsBackground:NO]会非常慢。

任何更新?我也尝试过

  [self setDrawsBackground:YES];
[self setBackgroundColor:[NSColor clearColor]];


也许与NSTextView的setBackgroundFilters?

谢谢!

最佳答案

我找到了部分解决方案。如果禁用字体的平滑处理,则性能会大大提高。
首先,您必须具有NSTextView的子类。
然后,

- (void)drawRect:(NSRect)dirtyRect
{
[[NSGraphicsContext currentContext] setShouldAntialias:YES];
CGContextSetShouldAntialias((CGContextRef)[[NSGraphicsContext currentContext] graphicsPort], YES);
CGContextSetShouldSmoothFonts((CGContextRef)[[NSGraphicsContext currentContext] graphicsPort], NO);

[super drawRect:dirtyRect];

// Drawing code here.
}


此外,您可以使用:

self.textview.layoutManager.allowsNonContiguousLayout = YES;


稍微改善性能。

这与具有不透明背景不同,但可以帮助您。

关于macos - 透明的NSTextView性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35728127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com