グラフィックパフォーマンスが速いのはSWTとJava2Dのどちらですか?
MacOSXでは、SWTのグラフィックスはQuartz Extremeを通過し、Quartz ExtremeはハードウェアアクセラレーションされたOpenGLを使用してレンダリングされますか?
ネイティブUIコントロールについては言及していませんが、テキスト、線、曲線、ポリゴンなどのカスタム2Dグラフィックスレンダリングについて質問しています。
Java Swing と SWT は反対のアプローチをとっています。
Java Swing は、ウィジェットの描画とカスタム描画の両方に Java2D を使用します。これは、基盤となるプラットフォームのグラフィック API を抽象化するクロスプラットフォーム グラフィック API です。現在、Java2D のパフォーマンスは、プラットフォームのネイティブ API のパフォーマンスと効率に依存しています。
SWT は、プラットフォームのネイティブ グラフィックス API をカスタム描画に使用し、プラットフォームのネイティブ GUI API (存在する場合) をウィジェットの描画に使用します。ここで注目すべき点は、ほとんどのプラットフォームでは、GUI API 自体がプラットフォームのグラフィックス API を使用してウィジェットを描画するということです。
ご覧のとおり、最終的にはすべてプラットフォームのグラフィックス API に依存します。したがって、どちらも多かれ少なかれ同じパフォーマンスと速度を提供します.
パフォーマンスに影響する場合と影響しない場合があるいくつかの例外があります。
理論的には、SWTはネイティブUI実装を直接使用するため、より高速になるはずです。
しかし実際には、それはすべて各プラットフォームでのSWTとSWINGの実装に依存します。
私の経験では、SWTはWindowsの方が高速ですが、MacOSXの方が高速ではありません。