gpt4 book ai didi

wpf - 将 WPF PathGeometry 拆分为 "tiles"

转载 作者:行者123 更新时间:2023-12-04 15:04:36 25 4
gpt4 key购买 nike

我有一个相当大的 PathGeometry(超过 100,000 个点,并且被描边但未填充)要显示给用户,但任何时候只有一小部分路径可见。澄清一下,路径本身不是预先确定的,而是由数据创建的。

问题:我想提供非常平滑的平移,以便用户可以探索更大路径的区域。

我有一个可能的解决方案,但我不确定如何解决。我想使用平铺技术——将几何体拆分为平铺并仅加载可见的平铺。

那么,如何将仅描边的路径几何体拆分为图 block 。更具体地说,如何确定给定矩形图 block 中存在的路径部分?

我知道我可以使用 CombinedGeometry 来确定路径几何与矩形之间的相交,但这将包括矩形的“墙”(将被描边)。有没有更好的方法来平铺仅描边的 PathGeometry?

谢谢!

最佳答案

也许不是平铺只有一个 pathgeometry 并使用数据绑定(bind)或其他任何方式以编程方式更改 pathdata 来表示您放大的路径段。有点像 DeepZoom,但有路径。这将意味着您不必搞乱合并路径。

我正在做与您类似的事情,但我在路径中使用的数字略少,所以我没有考虑使用任何虚拟化方法。但是,我没有注意到大量的性能问题。我在滚动查看器中有一条路径,代表大约 1000 - 10000 个点,只有当我放大时,只有这些点相距很远,它才会变得迟钝。如果路径中的点相对靠近它们的邻居(例如,一个很好的扫描正弦波),那么 WPF 会对它们执行某种优化以防止任何可察觉的滞后。

例如:这条路...

multiple sines

...将需要比这条路径更长的时间来绘制:

simple sine

即使它们包含相同数量的描述它的点。尽管实际上在您注意到性能差异之前,路径需要开始看起来像下图。

the troublemaker

因为路径代表一个音频波,所以我打算通过执行某种检查以查看这些点是否正在创建一个巨大的深蓝色 block 并用耗电较少的东西替换它来摆脱任何 future 的问题,但这可能不是为您提供足够的解决方案。

(抱歉图像中的大小差异,计算正弦波的位目前不起作用,所以我不得不使用旧的 jpeg)

关于wpf - 将 WPF PathGeometry 拆分为 "tiles",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3558149/

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