我正在创建一个程序,需要大量的粒子被渲染和操作。
到目前为止我已经考虑用..。
g2.drawLine(x, y, x, y);g2.fillOval(x-3, y-3, 6, 6);BufferedImageImageIcon什么是渲染大量粒子的最快方法,比使用drawLine()或fillOval()之类的方法更快?
发布于 2014-04-08 23:12:32
根据我的经验,所有的渲染方法在呈现时间上都是线性的,使用drawPoly似乎没有比使用多个drawLine的更快。至于drawOval、drawRect和drawImage,只要改变多少像素就行了。因此,我不担心重构您的呈现,以使用‘更快’的方法时,它们只是会变慢,更多的像素变化-相反,你应该尝试不画任何东西/很多。
大多数渲染方法的所有参数都可以随时使用setRenderingHint方法进行调整,您可以更改用于图像缩放、抗混叠质量、α混合的内插器。如果能很好地使用这一点,再加上不绘制像素,就会获得最佳的性能。例如,如果你的粒子不使用α-关闭它,如果它们都对齐到90度角度-关闭反走样,你也可以设置颜色渲染质量取决于你的图像。
https://stackoverflow.com/questions/22949180
复制相似问题