6.9 Javaランタイム・システムのカスタマイズ
AHFスコープはJavaで記述されているため、プラットフォームに依存しません。
スクリプトahfscope
は、Oracleクラスを使用してJava仮想マシン(JVM)を起動します。知識のあるユーザーは、このスクリプトのカスタマイズを検討するか、環境変数_JAVA_OPTIONS
を使用してJVMがコードを実行する方法を決定できます。
JVMはJavaクラスを解釈するランタイム・プロセスです。現在のすべてのJVMには、バイトコードをオンザフライでネイティブ・コードに変換するいくつかの方法が組み込まれています。この分野で主流となっているのがHotSpotです。クラスの呼出しを開始する場合を除き、ほとんどの場合、Javaメソッドは後でネイティブ・コードで実行されます。したがって、Cなどのネイティブ言語で記述されたプログラムに匹敵する速度で実行されます。
- https://docs.oracle.com/javase/8/docs/technotes/guides/2d/flags.html#opengl
- https://docs.oracle.com/javase/8/docs/technotes/guides/2d/new_features.html
-Dsun.java2d.opengl=true
: OpenGLパイプラインを使用します-Dsun.java2d.d3d=true
: Microsoft WindowsのDirect3Dアクセラレータを使用します
AHFスコープは3Dではレンダリングされませんが、Direct3Dを介して使用できる高速な領域再ペイントから大きなメリットがもたらされます。
JVMオプションは、java
コマンドで使用することも、環境変数_JAVA_OPTIONS
として宣言することもできます。
_JAVA_OPTIONS="-Dsun.java2d.opengl=True -Dsun.java2d.d3d=true" export _JAVA_OPTIONS
Picked up _JAVA_OPTIONS: -Dsun.java2d.opengl=True -Dsun.java2d.d3d=true
Could not enable OpenGL pipeline for default config on screen 0
OpenGL pipeline enabled for default config on screen 0
一部のグラフィックス・カードの場合、OpenGLはオプションsun.java2d.opengl.fbobject=false
を必要とします。次のドキュメントhttp://www.oracle.com/technetwork/java/javase/index-142560.htmlのレンダリングおよびパフォーマンスの問題の診断に関する項を参照してください。
このリンクは、特定のハードウェア/ドライバ・バージョンとともにOpenGLおよびJava 2D描画パッケージで発生する可能性がある問題の現在の包括的な説明です。