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