Быстрее: SWT или Java2D? - PullRequest
       10

Быстрее: SWT или Java2D?

2 голосов
/ 18 июня 2010

Какая графическая производительность выше: SWT или Java2D?

В MacOSX проходит ли графика SWT через Quartz Extreme, который, в свою очередь, отображается с использованием аппаратного ускорения OpenGL?

Я не являюсьссылаясь на встроенные элементы управления пользовательского интерфейса, но спрашивая о пользовательской визуализации 2D-графики, такой как текст, линии, кривые и многоугольники.

Ответы [ 2 ]

3 голосов
/ 25 февраля 2012

Оба используют графический API платформы

Java Swing и SWT используют противоположные подходы.

Java Swing использует Java2D как для рисования своих виджетов, так и для пользовательского рисования, который является кроссплатформенным графическим API, который абстрагирует графический API базовой платформы. Теперь производительность Java2D зависит от производительности и эффективности встроенного API платформы.

SWT использует собственный графический API-интерфейс платформы для пользовательского рисования и использует собственный графический интерфейс API-интерфейса платформы (если имеется) для рисования своих виджетов. Теперь следует отметить, что для большинства платформ сам графический интерфейс API использует графический API платформы для рисования виджетов.

Графическое представление

All Depends on the Graphics API


Как видите, в конечном итоге все зависит от графического API платформы. Таким образом, оба предлагают более или менее одинаковую производительность и скорость.

Некоторые исключения

Существуют некоторые исключения, которые могут влиять или не влиять на производительность.

  • Java Swing максимально использует чистый Java-код, это может повысить производительность.
  • На некоторых платформах Java2D может использовать более быстрый и быстрый API в дополнение к стандартному для платформы, например, он поддерживает Direct3D в Windows.
  • В некоторых случаях нативный код, на который опирается SWT, может оказаться быстрее, чем при использовании абстракции Java2D.
1 голос
/ 18 июня 2010

В теории, SWT должен быть быстрее, поскольку он напрямую использует собственные реализации пользовательского интерфейса.

Но на практике все зависит от реализаций SWT и SWING на каждой платформе.

По моему опыту,SWT быстрее в Windows, но не быстрее в Mac OS X.

...