【发布时间】:2018-04-04 11:10:36
【问题描述】:
我已经开始编写一个程序,我想在其中完全操纵像素是如何绘制到屏幕上的。所以我想将像素数据存储在 int 或 byte 数组中,并像每 1 毫秒一样在屏幕上绘制每个像素,但根据过去的经验,我知道这是非常低效的,并且 600x550 画布的 fps 降至 5 以下... 那么,为什么在绘制具有相同像素数的图像时不会发生这种情况呢?这个 Graphics 方法是如何工作的?还有更有效的方法吗?
【问题讨论】:
-
看看BufferedImage。您可以在图像中设置单个像素,然后一次性绘制图像。
-
Graphics是类,关于它的工作原理以及您可以使用哪些方法,请随时关注官方javadoc 关于我为此目的而拥有的 xp 可能是最好的缓冲图像,如上所述,检查setRGB方法 -
使用 OpenGL 效率最高
-
是的,但 OpenGL 不是由其他人编写的另一组代码吗?这不是魔术,每个编码员都受到编程语言的限制,如果一个人可以做出高效的事情,为什么其他人就不能这样做?
-
我不喜欢使用其他人的 API,因为它们包含我可能不需要或我不理解的东西,我想完全控制我的程序,以便更轻松地解决错误。 ...另外,BufferedImage 是其他人制作的另一个代码,包含很多我不需要的东西,所以我的问题应该是“BufferedImage 是如何工作的”,但是 nvm...
标签: java