Java SE 6: 新しいJava2DレンダリングエンジンとJOGLの統合
2005/09/15
来年の夏頃にリリースされる予定のJava SE 6(開発コードMustang)では、開発の目標の1つとしてデスクトップ環境の強化が掲げられている。そのうちのJava2D APIに関する拡張として、Java2DにおけるOpenGLレンダリングの高速化がある。
Mustangでは、Java2DにおけるOpenGLのレンダリングを高速化するためにパイプライン処理の実装が見直される。既存のレンダリングエンジンでは複数スレッドによるレンダリングを並行してネイティブのグラフィックライブラリで処理させるという実装方法が採用されていた。これに対してMustangではシングルスレッドレンダリングを採用、複数のスレッドからのレンダリング要求をパイプラインによって管理し、効率よくグラフィックライブラリに渡すようになる。このシングルスレッドレンダリングの実装はMustangの開発版リリースbuild 27ですでに実装されており、J2SE 5.0の実装に対して大幅なパフォーマンスの向上が確認されている。
一方、JavaプログラムでOpenGLを使うために古くから利用されているAPIとしてJOGL(Java Bindings for OpenGL)がある。JOGLはJSR 231で標準化されているAPIで、JavaコードからOpenGLネイティブライブラリへのバインディングを提供する。JOGLではGLJPanelというOpenGLに対応した軽量コンポーネントを提供しており、これを使用することでSwingアプリケーション内でOpenGLによる3Dグラフィックスの描画が可能になる。しかし、既存の実装ではこのGLJPanelを用いたレンダリングは非常にパフォーマンスが悪いという問題があった。
今月8日に公開されたMustang build 51において、JOGLのGLJPanelから、新しいシングルスレッドレンダリングによる実装を利用するための機能が実装された。これによってGLJPanelのパフォーマンスは大幅に向上し、次のような効果が得られるという。
- OpenGLレンダリング上でのSwingコンポーネントのオーバレイ
- 様々なSwingウィジット上での3Dグラフィックスの利用
- Java2Dレンダリング上での3D OpenGLグラフィックスの描画
- OpenGLレンダリング上でのJava2Dグラフィックスの描画
なお、JOGLを利用したデモプログラムはjogl-demosプロジェクトサイト上で公開されている。
個人向けPCの性能が向上したことで、デスクトップアプリケーションにも充実した表現能力が求められるようになってきた。このことはLG3D(Project Looking Glass)などへの関心の高さにも現れている。今後もMustangにおけるデスクトップJavaへの取り組みに注目していきたい。
関連記事
- 【レポート】リリースまで1年、Java SE 6"Mustang"の概要を一足早く把握する[2005/8/16]
- 3つの次期J2EEテクノロジ、メンテナンスドラフトへ[2005/8/29]
- JavaOneに見るJava EE 5 - Persistence APIがEJBから独立[2005/6/29]
ヘッドライン
- Opera 10.5、ACID3に100/100パス[16:26 2/10]JavaScript / CSS / HTML
- FirePHPでPHPプログラミングを便利にする方法[14:03 2/10]プログラミング
- Active Directory誕生10周年記念セミナーが2月27日に開催[12:26 2/10]システム管理
- NEC、サイオスら、自動バックアップバック「TWIN NAS 2TB パック」発表[11:45 2/10]システム管理
- グレープシティ、"Excel機能"を提供する.NETコンポーネントの新版発表[11:22 2/10]プログラミング
- トレンドマイクロ、USBメモリ型ウイルス検索製品「Portable Security」発表[10:42 2/10]セキュリティ
- 【コラム】FileMaker×PHPで作る、簡単・便利なWebアプリ 第49回 結果セットの取扱いに特化したクラス、FileMaker_ResultSet(2)[10:18 2/10]プログラミング
- CSS/HTMLリファレンスマニュアル、最新ブラウザ互換情報[09:00 2/10]JavaScript / CSS / HTML
- 【レビュー】BOOK REVIEW - 現場に振り回されるだけのSE人生がイヤならチカラをつけよう[09:00 2/10]SE力
- 【レポート】暗号2010年問題に向け「いつまでに何をすべきか」 - ベリサインが説明[08:00 2/10]セキュリティ









