XNA C#性能问题
我在屏幕上画了多个圆圈(没有填充),我对所有圆圈使用了相同的精灵,但比例值不同。问题是,当大约有6-10个时,它会滞后很多。纹理本身是400x400 png图片。注意:当使用参数最少的XNA C#性能问题,c#,performance,windows-phone-7,xna,C#,Performance,Windows Phone 7,Xna,我在屏幕上画了多个圆圈(没有填充),我对所有圆圈使用了相同的精灵,但比例值不同。问题是,当大约有6-10个时,它会滞后很多。纹理本身是400x400 png图片。注意:当使用参数最少的spritebatch.Draw()方法时,性能会显著提高。当我在保存比例值的列表中循环时,我正在绘图。值得一提的是,我是为WP7平台开发的,滞后只发生在速度较慢的设备上 下面是我正在使用的代码: for (int i = 0; i < active_triangles.Count; i++)
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);
}
只是一个提示!请阅读并重复几次。如果您向我们展示您正在使用的实际代码,这将非常有帮助。正如Oren所说,请发布一些更相关的代码(特别是三角形的.Draw(spriteBatch))。您的SpriteBatch.Begin
和SpriteBatch.End
调用在哪里?如果运行探查器,将更容易确定延迟的原因。查看哪些方法消耗的资源最多,您就会得到答案。
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(texture, position, frame, Color.White * alpha, rotation, pivot, 1, SpriteEffects.None, 0);
}