用Java绘制图像,慢慢上网本

时间:2010-04-30 17:10:16

标签: java linux graphics 2d

在我之前的问题(特别是这一个:Java : VolatileImage slower than BufferedImage)的后续内容中,我注意到只是绘制一个图像(如果它是缓冲的或者是易失性的,那也无关紧要,因为计算机没有加速的内存*,测试显示它没有改变任何东西),往往很长。

(*) System.out.println(GraphicsEnvironment.getLocalGraphicsEnvironment()
.getDefaultScreenDevice().getAvailableAcceleratedMemory()); --> 0

多久了?对于500x400图像,大约0.04秒。这只是 在后备缓冲区上绘制图像(通过缓冲策略获得)。

现在考虑到魔兽世界在上网本上运行(虽然很困难),而且在线java游戏似乎没有任何问题,这是非常令人深思的。

我很确定我没有错过任何明显的东西,我已经广泛搜索过网络,但没有什么可以做的。所以你们中的任何一个人都知道这个模糊的问题可能导致了什么(也许这是正常的,我很怀疑它)?

PS:当我写这篇文章时,我意识到这可能是因为我的Linux安装(archlinux)很难,我有正确的英特尔驱动程序。但我的电脑通常有“集成英特尔图形媒体加速器950”,这意味着它应该以某种方式加速视频内存。关于这方面的任何想法?

2 个答案:

答案 0 :(得分:2)

我也在运行Arch Linux,并注意到我的游戏有时会变慢,特别是在我的图像使用alpha透明度时。事实证明,即使是Windows,不仅Linux有时会默认关闭硬件加速。

我找了解问题的方法,发现了这个: http://web.archive.org/web/20120926022918/http://www.systemparadox.co.uk/node/29

启用OpenGL大大加快了我的帧速率,我认为如果再次运行测试,你会得到更快的绘制。

答案 1 :(得分:1)

我对Java图形知之甚少,但是如果我在你的鞋子里,我会认为测量意味着没有比较值,这听起来像你可能有但不共享。将此信息添加到您的问题中,以及比较系统的规格(它是桌面吗?它是否有专用的视频卡?是运行Windows还是Linux?)。


关于你的测量,它在另一台上网本上的速度要快10倍,其他笔记本电脑是运行Windows,还是那台也是Linux? Linux历来拥有非常平庸的图形驱动程序 - 它们的运行速度几乎与Windows等效驱动程序不同。实际上很长一段时间,你可以获得的唯一驾驶员不是由ATI / nVidia等编写的,而是由业余爱好者编写的。如果Linux机器运行的图形程序比运行Windows的类似机器慢十倍,那么我一点都不会感到惊讶。

这是大约五年前我所理解的情况。我怀疑它发生了很大变化。