gpt4 book ai didi

java - 如何提高 SWT 绘图性能?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:59 26 4
gpt4 key购买 nike

我的任务是改进使用 SWT 的 GC 绘制图表的股票市场图表软件的性能。图表绘制需要改进,因为图表有时每秒重绘多次,并且消耗大量处理器时间。

谷歌搜索了一下后,我找到了一个 blog entry这表明直接修改 ImageData 对象而不是使用 GC 的方法,有望获得巨大的性能提升。

使用这种技术绘制水平和垂直的直线和正方形很容易,但是当涉及到绘制圆形和其他不规则形状时,就没有简单的方法了。

有谁知道是否有一个库可以在 ImageData 对象上绘制形状,就像 GC 的方法在 Image 对象上做的那样?

另外,有没有人知道另一种提高 SWT 性能的方法?

提前致谢。

最佳答案

衡量您的解决方案的性能。大部分时间花在哪里?猜测是不够的。在 90% 的情况下,你的猜测都是错误的。如果不知道,就无法解决问题。

SWT 本身并不慢。事实上,SWT 只是在相应的 OS 系统调用上绘制的一个非常薄的层。

SWT 的问题之一是它是同步的。为了确保线程问题不会造成问题,有一个全局锁。因此,如果您同时从多个线程进行渲染,这可能会成为一个问题。

或者您可能没有正确缓存颜色和字体等资源。这些创建起来很昂贵。您创建了多少个 GC?你是保留一个还是每帧创建一个新的?

但我只是在这里猜测。除非你能用性能监视器证明“大部分时间花在……”,否则没有办法帮助你。

关于java - 如何提高 SWT 绘图性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6033427/

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