gpt4 book ai didi

objective-c - 贝塞尔路径解决性能问题

转载 作者:行者123 更新时间:2023-12-03 16:49:19 25 4
gpt4 key购买 nike

我的代码如下 -

[[NSColor whiteColor] set];
// `path' is a bezier path with more than 1000 points in it
[path setLineWidth:2];
[path setLineJoinStyle:NSRoundLineJoinStyle];
[path stroke];
// some other stuff...

在 Instruments 中运行时间分析工具,它告诉我我的应用程序花费了 93.5% 的时间来执行最后一行[路径笔画],而 Quartz Debugger 告诉我我的应用程序仅以更少的时间运行超过 10 fps(另一个 View 在其之上改变位置总是导致更新)。

我正在寻找提高抚摸贝塞尔曲线路径性能的方法,有时超过 1000 个点的路径会以 >60fps 快速绘制,但是在某些极端情况下,即使点数量相同,也许如果点彼此距离太远(或太密集?),性能变得非常缓慢。

我不知道我能对此做些什么。我认为将 View 缓存为位图代表很有帮助,但它对实时调整大小并没有真正的帮助。

编辑:注释掉行 [path setLineWidth:2]; 当然有帮助,但路径看起来真的太“细”了。

最佳答案

您可以使用 setFlatness: 方法调整曲线的平坦度,较高的值会提高渲染速度,但会牺牲准确性。例如,您应该在实时调整大小期间使用更高的值。

关于objective-c - 贝塞尔路径解决性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4433522/

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