画面に複数の円(塗りつぶされていない)を描いています。それらすべてに同じスプライトを使用していますが、スケール値は異なります。問題は、それらが 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);
}
三角形の Draw メソッド:
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(texture, position, frame, Color.White * alpha, rotation, pivot, 1, SpriteEffects.None, 0);
}