PNG 在 Mac 上的 Java 中导致大量 CPU 使用
嘿,这个问题我已经有一段时间了,我希望有人能提供帮助。
我在 Mac OSX 1.6.3 上使用 Java 制作小游戏,如果我使用 PNG 作为图像格式,Java 的 CPU 使用率会飙升至 50%(在一个非常小的 2D 游戏中)。但是,如果我使用 GIF 作为格式,Java 的 CPU 使用率将保持在 10% 不变,这是合理的。
是什么导致了这个问题?我使用 PNG 开发的每个游戏都会出现这种情况,所以我总是切换到 GIF。
现在的问题是我需要使用 PNG 来实现其可变的 alpha 属性,而不仅仅是简单的透明度。使用 GIF 无法实现此功能。
Java SE 6 及之前的版本中存在该问题。我使用的是 2009 年初的 Mac Book Pro 15"。
在运行相同游戏的 Windows PC 上不会出现该问题。由于 Java 在 Windows PC 上使用 PNG(我已尝试过 XP、Vista 和 7),CPU 使用率始终为始终保持在约 10% 的水平,
如有任何帮助,我们将不胜感激。 谢谢 :)
Hey, I've been having this problem for a while now and I was hoping someone could help.
I make small games using Java on Mac OSX 1.6.3 and if I use PNG's as the image format my CPU usage by Java skyrockets to say 50% (on a very small 2D game). However if I use GIF as the format my CPU usage by Java stays constant at 10% which is reasonable.
What is causing this problem?? It occurs on every game I develop using PNG's so I always just switch to GIF's.
The problem is now that i need to use a PNG for its variable alpha properties rather than just plain transparency. This is not available using GIF's.
The problem is present on Java SE 6 and previous versions. I am using an early 2009 Mac Book Pro 15".
The problem does not occur on a Windows PC running the same game. The CPU usage due to Java using PNG's on a Windows PC (I have tried XP, Vista and 7) is always constantly low at ~10%.
Any help would be greatly appreciated.
Thanks :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
透明度可能是问题的根源,因为它是一个相当昂贵的功能。我的猜测是 Mac 上的 Java2D 不使用硬件加速,而 Windows 上则使用。
您运行的是 MacOS 附带的 JRE 吗?
Transparency is probably at the root of the issue, since it's a rather expensive feature. My guess is that Java2D on Mac doesn't use hardware acceleration, while on Windows it does.
Are you running the JRE that comes with MacOS?