gpt4 book ai didi

objective-c - 使用 NSBezierPath 快速绘制至少 4000 个线段

转载 作者:行者123 更新时间:2023-12-03 16:55:47 24 4
gpt4 key购买 nike

我正在尝试在 NSView 的每个绘制矩形(大约 300x300 像素框)上使用 NSBezierPath 绘制大约 4000-10000 个段。这非常耗费资源,并且需要花费很多时间来绘制(相对较长)。

有人可以建议一个替代品吗?我尝试过一次使用单个 NSBezierPath 处理 1000 个段,但它仍然占用大量资源。

我正在寻找任何可能的替代方案。我确信 OpenGL 会更快,但我不知道是否必须学习新平台才能完成我需要的操作。我愿意接受建议。

最佳答案

不是答案,只是测试结果

我用 Mathematica 做了一个简单的实验。这个实验为我们提供了您时间的绝对上限,因为我没有使用任何优化、没有 GPU、解释语言等。所以我认为可以实现的不仅仅是一个数量级。

结果:

生成 10.000 条贝塞尔曲线列表

b = Table[
{Hue[RandomReal[]],
BezierCurve@RandomReal[{0, 300}, {4, 2}]}, {10000}];

非常快,因为 mathematica 不评估任何内容。

现在渲染:

h1 = AbsoluteTime[]; Print@Graphics[b]; h2 = AbsoluteTime[]; Print[h2 - h1];

Time spent 11.8 secs

结果:

alt text

PS:目的是为我们的心态设定一个时间基准。

关于objective-c - 使用 NSBezierPath 快速绘制至少 4000 个线段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4331835/

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