Оба используют графический API платформы
Java Swing и SWT используют противоположные подходы.
Java Swing использует Java2D как для рисования своих виджетов, так и для пользовательского рисования, который является кроссплатформенным графическим API, который абстрагирует графический API базовой платформы. Теперь производительность Java2D зависит от производительности и эффективности встроенного API платформы.
SWT использует собственный графический API-интерфейс платформы для пользовательского рисования и использует собственный графический интерфейс API-интерфейса платформы (если имеется) для рисования своих виджетов. Теперь следует отметить, что для большинства платформ сам графический интерфейс API использует графический API платформы для рисования виджетов.
Графическое представление
Как видите, в конечном итоге все зависит от графического API платформы. Таким образом, оба предлагают более или менее одинаковую производительность и скорость.
Некоторые исключения
Существуют некоторые исключения, которые могут влиять или не влиять на производительность.
- Java Swing максимально использует чистый Java-код, это может повысить производительность.
- На некоторых платформах Java2D может использовать более быстрый и быстрый API в дополнение к стандартному для платформы, например, он поддерживает Direct3D в Windows.
- В некоторых случаях нативный код, на который опирается SWT, может оказаться быстрее, чем при использовании абстракции Java2D.