哪个具有更快的图形性能:SWT或Java2D?
在MacOSX上,SWT的图形是否通过Quartz Extreme,而Quartz Extreme又是使用硬件加速的OpenGL渲染的?
我不是指本机UI控件,而是询问自定义2D图形渲染,如文本,线条,曲线和多边形。
答案 0 :(得分:3)
Java Swing和SWT采取相反的方法。
Java Swing使用Java2D绘制其小部件和自定义绘图,这是一个跨平台的图形API,它抽象了底层平台的图形API。现在Java2D的性能取决于性能和性能。 Platform的Native API的效率。
SWT使用平台的本机图形API进行自定义绘图,并使用平台的本机GUI API(如果存在)绘制其小部件。现在需要注意的是,对于大多数平台而言,GUI API本身使用平台的图形API来绘制小部件。
正如您所看到的,最终所有依赖于Platform的Graphics API。所以两者都提供或多或少相同的性能和速度。
有一些例外,可能会影响或不影响表现。
答案 1 :(得分:1)
我的理论,SWT应该更快,因为它直接使用本机UI实现。
但实际上,这完全取决于每个平台上的SWT和SWING实现。
根据我的经验,SWT在Windows中速度更快,但在Mac OS X上速度并不快。