1

グラフィックに Java2D を使用して 2D ゲームを開発しています。Windows 7 で起動したときに同じハードウェアが 60 FPS を維持している場合、OSX デバイスでパフォーマンスが著しく低下します。

私はいくつかの調査を行っており、他の問題の中でも特に、Apple はイメージを管理したくないように見えることがわかりました。

画像が描画されるたびに印刷する行を追加しました-

 System.out.println(image.getCapabilities(GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration()).isAccelerated());

Windows では、約 2 秒後に、これは常に true になります。Mac では、実行時間に関係なく、これは false として表示されます。

すべての画像は TYPE_INT_ARGB として表示されます。画像操作は行っていません。管理できません。OSX でイメージを管理する方法についてアドバイスをいただけますか?

編集:

私がテストしているMacのSystem.propertiesは次のとおりです。

  sun.java2d.opengl=true
  java.runtime.name=Java(TM) SE Runtime Environment
  sun.boot.library.path=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries
  java.vm.version=20.51-b01-456
  awt.nativeDoubleBuffering=true
  gopherProxySet=false
  mrj.build=10M4508
  java.vm.vendor=Apple Inc.
  java.vendor.url=http://www.apple.com/
  java.vm.name=Java HotSpot(TM) 64-Bit Server VM
  file.encoding.pkg=sun.io
  sun.java.launcher=SUN_STANDARD
  user.country=US
  sun.os.patch.level=unknown
  java.vm.specification.name=Java Virtual Machine Specification
  java.runtime.version=1.6.0_51-b11-456-10M4508
  java.awt.graphicsenv=apple.awt.CGraphicsEnvironment
  java.endorsed.dirs=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/endorsed
  os.arch=x86_64
  apple.awt.graphics.UseOpenGL=false
4

0 に答える 0