我正在屏幕上绘制多个圆圈(未填充),我对所有圆圈使用相同的精灵,但比例值不同。问题是,当它们大约有 6-10 个时,它会滞后很多。纹理本身是 400x400 png 图片。请注意,当使用spritebatch.Draw()
参数最少的方法时,性能会显着提高。我在通过包含比例值的列表循环时进行绘图。值得一提的是,我正在为 WP7 平台开发,并且延迟仅发生在速度较慢的设备上。
这是我正在使用的代码:
for (int i = 0; i < active_triangles.Count; i++)
{
spriteBatch.Draw(circle, circle_origin, null, Color.White, 0, circle_pivot, scales[i], SpriteEffects.None, 0);
active_triangles[i].Draw(spriteBatch);
}
三角形的绘制方法:
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(texture, position, frame, Color.White * alpha, rotation, pivot, 1, SpriteEffects.None, 0);
}