Achieving high and consistent rendering performance of java AWT/Swing on multiple platforms

Yi Hsien Wang, I-Chen Wu

Research output: Contribution to journalArticlepeer-review

17 Scopus citations


Wang et al. (Softw. Pract. Exper. 2007; 37(7):727-745) observed a phenomenon of performance inconsistency in the graphics of Java Abstract Window Toolkit (AWT)/Swing among different Java runtime environments (JREs) on Windows XP. This phenomenon makes it difficult to predict the performance of Java game applications. Therefore, they proposed a portable AWT/Swing architecture, called CYC Window Toolkit (CWT), to provide programmers with high and consistent rendering performance for Java game development among different JREs. They implemented a DirectX version to demonstrate the feasibility of the architecture. This paper extends the above research to other environments in two aspects. First, we evaluate the rendering performance of the original Java AWT with different combinations of JREs, image application programming interfaces, system properties and operating systems (OSs), including Windows XP, Windows Vista, Fedora and Mac OS X. The evaluation results indicate that the performance inconsistency of Java AWT also exists among the four OSs, even if the same hardware configuration is used. Second, we design an OpenGL version of CWT, named CWT-GL, to take advantage of modern 3D graphics cards, and compare the rendering performance of CWT with Java AWT/Swing. The results show that CWT-GL achieves more consistent and higher rendering performance in JREs 1.4to 1.6 on the four OSs. The results also hint at two approaches: (a) decouple the rendering pipelines of Java AWT/Swing from the JREs for faster upgrading and supporting old JREs and (b) use other graphics libraries, such as CWT, instead of Java AWT/Swing to develop cross-platform Java games with higher and more consistent rendering performance

Original languageEnglish
Pages (from-to)701-736
Number of pages36
JournalSoftware - Practice and Experience
Issue number7
StatePublished - 1 May 2009


  • CYC Window Toolkit
  • Directx
  • Linux
  • Mac OS x
  • OpenGL
  • Windows


Dive into the research topics of 'Achieving high and consistent rendering performance of java AWT/Swing on multiple platforms'. Together they form a unique fingerprint.

Cite this