JAI图像调整瓶颈



我使用JAI库对一系列图像进行调整,每个图像的大小约为1300x1000。我使用"Rescale"调整像素强度,并使用TiledImage.createGraphics()方法中的Graphics2D对象添加文本和线条。然后我用"subsampleaverage"调整图像的大小以适应屏幕,并使用Graphics2D.drawRenderedImage()渲染到屏幕。到目前为止,几乎没有减速,渲染大约需要40-60毫秒。

但是,如果我只添加文本和行,则显示速度减慢到100-200毫秒。我似乎不明白为什么会这样,因为在调整像素强度之后或之前添加文本是可以的。

我一直在网站上搜索,但我似乎找不到任何具体的答案。许多建议已经使用BufferedImages,但从PlanarImages转换到BufferedImages似乎也有一个减速问题。

显然在Java中文本的呈现速度仍然很慢。每个Font对象的字形必须渲染并绘制在Graphics对象上。在对象上有很多文本,Font对象以及所有使用的Glyphs被重新创建,导致大量的减速。

即使使用JOGL,也有明显的减速。但是使用相同的TextRenderer对象可以通过创建单个Font对象并在TextRenderer存活期间重用它来缓解这个问题。当然,这限制了您使用多个Font对象,因为JOGL还没有实现setFont函数,要求您为每个新字体、字体样式和字体粗细创建一个新的TextRenderer对象。

希望这对有类似问题的人有帮助。

相关内容

  • 没有找到相关文章

最新更新