1

画面に複数の円(塗りつぶされていない)を描いています。それらすべてに同じスプライトを使用していますが、スケール値は異なります。問題は、それらが 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);
    }
4

0 に答える 0