我正在开发一个Java 2D渲染程序(运行在1.6.0_11上),它使用外部图像进行UI渲染。这些大图像同时包含多个UI图形部分,我现在用BufferedImage.getSubimage()提取它们。假设一个平均的桌面系统(启用或不启用DirectX / OpenGL加速),我的问题是:
- getSubimage()是一种内存高效的调用,因为它共享底层图像数据,但这会影响这些子图像与Graphics2D.drawImage()的渲染速度吗?
- 如果图像使用每像素8位颜色调色板模式,使用RGBA模式(例如4倍内存)或依赖于调色板颜色模型(例如转换时间)会带来什么收益/损失?