我正在开发2D游戏,一切都很好,直到我简单地添加了约100个<head>
<meta name="og:image" content="http://example.com/DEFAULTIMAGE.png" />
</head>
的渲染(使用64x64图像)。我震惊地意识到大约100个对象的速度如此之慢。我立即添加了一些预防措施,包括仅在屏幕上进行绘制,确保图像不会在每次更新时都加载,使用双缓冲等。我还发现使用诸如缩放,平移和旋转之类的转换会极大地降低性能,所以我做了所有的矩形不使用它们。我发现有消息说Graphics2D没有利用GPU,所以我查找了如何使用图形卡并最终使用了Rectangle2D.Double
,这听起来很有希望,因为我想到了C ++ OpenGL及其令人难以置信的速度,但是,它没有加快速度。我仍然认为它正在使用CPU。
TL; DR: 如何利用图形卡在Java中获得最佳性能?