gpt4 book ai didi

Java 2d drawLine 对于长线来说很慢

转载 作者:行者123 更新时间:2023-12-01 11:35:47 26 4
gpt4 key购买 nike

我有一段代码需要绘制数千条线(6000 到 50000 之间)。

我随后修复了一个不相关的错误,暴露了一些有趣的东西;也就是说,当这些线条很长(比如 30k 像素)时,drawLine 函数会占用我的代码时间的 95%,而当线条只有 1000 像素长时,它只占用 15% 的时间。

线条颜色相同,宽度固定(1px)

为什么长线绘制这么慢?我有哪些选项可以加快速度,而不仅仅是长线,是否有可以使用的渲染提示?我已经在运行这个线程了。

最佳答案

我相信java的drawline函数,当你在新的区域画一条线时(即它只渲染了300x300的区域,但你画了一条线到200,500),它必须将所有这些像素初始化为可绘制区域。

以下是类似答案的片段:

“我建议您计算绘画区域的可见部分(使用 JComponent 的 getVisibleRect () 方法或 Graphics g.getClip ().getBounds () 方法)并仅使用该区域来限制您的绘画。

如果组件确实很大(例如组件区域为 10000x10000 像素),那么这个小优化可以加速组件的绘制速度。”

关于Java 2d drawLine 对于长线来说很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30010630/

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