既報のとおり、「Java SE 6 Update N Early Access build 04 (以下、6uN)」が公開され、Java SE 6の次期機能として注目されているものの多くがそのベールを脱いだわけだが、4日(米国時間)、Java2D Teamから同リリースで導入されたDirect3D機能についてチェックを実施し、フィードバックをあげてほしいというメッセージが公開されている。

6uNで導入された機能のなかでも特にWindowsプラットフォームでの性能向上が見込めるものがDirect3DベースのJava2Dパイプライン機能だ。これはWindowsプラットフォームでデフォルトで有効になる機能で、ハードウェアがPixel Shaders 2.0の必要最小限の機能をサポートしている場合に、Swingコンポーネントにおける透過処理、傾き処理、任意の変換、そのほか2D描画機能に対してハードウェアアクセラレーション機能が活用される。

Direct3DベースのJava2Dパイプライン機能はOpenGLをベースにして開発されたパイプライン機能とよく似ている。実際両者で多くのコードを共有しているし、Direct3Dの方でもOpenGLパイプライン機能向けに用意されたシングルスレッドレンダリングモデルを使って開発されている。要するに、OpenGLをサポートしているプラットフォームはOpenGLパイプラインで高速化、WindowsではDirect3DベースのJava2Dパイプラインで高速化という寸法だ。

同機能は近いうちにデフォルトの機能になるとみられるため、同チームでは試せるデベロッパーはぜひとも同機能を試してみて問題があれば報告してほしいとしている。試験についてはjdk6 - Direct3Dにまとまっているのでチェックしてほしい。注意すべきは、J2D_TRACE_LEVELを4に設定してから作業することだ。同機能を無効にする場合はjavaコマンドに対して-Dsun.java2d.d3d=falseを指定すればいい。

またすでに特定のチップセットで問題が発生することが知られているほか、フルスクリーンモードやマルチスクリーンにおいて問題があることもわかっている。こうした問題はリリースまでには解消したいとされている。また同機能は今のところXorレンダリングモードに関してはアクセラレーションとしては機能しないので注意されたい。