1

我正在开发一个使用 Java2D 进行图形的 2D 游戏。当使用 Windows 7 启动相同的硬件保持 60 FPS 时,我在 OSX 设备上的性能非常糟糕。

我一直在做一些调查,发现除其他问题外,Apple 似乎不想管理图像。

每次绘制图像时,我都会添加一行以打印出来-

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

在 Windows 上,大约 2 秒后,这总是正确的。在 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