我计划在我的游戏中实现一个新的图形集:简单圆形。绘制的精灵数量(在本例中为圆形)从2-3开始,可以无限增加(潜在地)。最大值可能会达到60左右。总共将有5种类型的圆形,每种类型都有不同的颜色和可能的大小。既然我要等到周一才实施它,我想在stackoverflow上问一下,是否有人已经知道哪种方法更快?
位图几乎总是比任何类型的绘图快。通过正确的准备,绘制位图只是将内存转储到屏幕上。绘制圆包括大量的计算,包括反走样。我在JavaOne 2009上介绍了一篇涵盖了这一点的论文,但那些老的论文似乎已经从该网站中删除了。这取决于您的位图需要多大,但对于小于10个像素的尺寸,位图精灵比甚至简单的图形操作(如绘制交叉线和直线)要快得多。您还需要确保当绘制精灵时,它不需要任何形式的变换,并且它是与屏幕内存兼容的形式。如果每个圆都是不同的颜色或厚度,或者更糟糕的是不同的大小,那么情况就不同了。创建每个位图的成本将超过节省的成本。您还应该记住优化的第一条规则:除非必须,否则不要这样做。