栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java硬件加速

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java硬件加速

1)到目前为止,默认情况下从未启用硬件加速,据我所知它尚未更改。要激活渲染加速,请在程序启动时将此arg(-Dsun.java2d.opengl =
true)传递给Java启动器,或者在使用任何渲染库之前进行设置。

System.setProperty("sun.java2d.opengl","true");
它是一个可选参数。

2)是

BufferedImage
封装了管理易失性存储器的一些细节,因为在
BufferdImage
加速时,将其副本存储为V-
Ram中的
VolatileImage

BufferedImage
只要您不弄乱它包含的像素,a的好处就是,只需像调用一样复制它们
graphics.drawImage()
,然后
BufferedImage
在达到一定的非指定数量的副本后,就会加速,它将
VolatileImage
为您管理。

a的缺点

BufferedImage
是,如果您要进行图像编辑,更改中的像素
BufferedImage
,在某些情况下,它将放弃尝试加速它的操作,这时,如果您要寻找用于编辑的高性能渲染,则需要考虑自行管理
VolatileImage
。我不知道哪些操作会让您
BufferedImage
放弃尝试加快渲染速度。

3)使用的优点

createCompatibleImage()/createCompatibleVolatileImage()

ImageIO.read()
不会对默认支持的图像数据模型进行任何转换。因此,如果导入PNG,它将以PNG阅读器构建的格式表示它。这意味着每次由a呈现时,
GraphicsDevice
都必须首先将其转换为兼容的Image
Data Model。

BufferedImage image = ImageIO.read ( url );BufferedImage convertedImage = null;GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment ();GraphicsDevice gd = ge.getDefaultScreenDevice ();GraphicsConfiguration gc = gd.getDefaultConfiguration ();convertedImage = gc.createCompatibleImage (image.getWidth (),image.getHeight (),image.getTransparency () );Graphics2D g2d = convertedImage.createGraphics ();g2d.drawImage ( image, 0, 0, image.getWidth (), image.getHeight (), null );g2d.dispose()

上面的过程会将使用image io api读取的图像转换为BufferedImage,该BufferedImage具有与默认屏幕设备兼容的Image
Data Model,因此在渲染时无需进行转换。最有利的情况是您将非常频繁地渲染图像。

4)您不需要花费精力来批量处理图像渲染,因为Java在大多数情况下都会尝试为您完成此操作。没有理由不能尝试执行此操作,但是总的来说,最好在尝试执行此类性能优化之前,对应用程序进行概要分析并确认图像渲染代码中存在瓶颈。主要缺点是,在每个JVM中实现的方式都略有不同,因此这些增强功能可能一文不值。

5)据我所知,您概述的设计是手动执行Double Buffering并主动呈现应用程序时较好的策略之一。
http://docs.oracle.com/javase/7/docs/api/java/awt/image/BufferStrategy.html
在此链接中,您将找到的描述

BufferStrategy
。在描述中,它显示了一个代码片段,这是对
BufferStrategy
对象进行主动渲染的推荐方法。我将这种特殊技术用于我的活动渲染代码。唯一的主要区别是在我的代码中。像您一样,我
BufferStrategy
在的实例上创建了,
Canvas
并将其放在上
Jframe



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430974.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号