2017-02-12 3 views
1

私は、周回軌道を持ち、他の周回軌道を周回し、中心に太陽を周回するシーンがあります。低いFPSと高いメモリ使用量の背景画像

次のコードを実行すると、正常に動作します。私は、この第二の例を実行する場合

void draw() { 
background(0); 

は、低フレームレートとほぼ1GBのメモリが使用されています。

void draw() { 

    PImage img; 
    img = loadImage("stars.jpg"); 
    background(img); 

これはコードが悪いためですか、もしそうなら、どのような面を変更する必要がありますか?

は、私は彼らが移動すると、そのパスを「描く」、移動物体を背景再描画されたとして、それ以外のすべてのフレームを必要としています。

あなたは

答えて

2

あなたはdraw()機能からloadImage()関数を呼び出すべきではありませんありがとうございました。

ファイルを読むのが1秒間に60回、実際に読む必要があるのはです。スケッチレベルで画像を宣言し、setup()からロードし、draw()から描画します。このように:

PImage img; 

void setup(){ 
    img = loadImage("stars.jpg"); 
} 
void draw() { 
    background(img); 
} 
+0

ありがとうございます。だから、それは問題を引き起こしていた図面ではなく、60x/sのディスクアクセス速度でした。 –