2017-02-12 30 views
1

我有一個軌道上有「行星」的景​​象,有些軌道上的其他軌道以及所有圍繞中心的太陽軌道。背景圖像的低FPS和高內存使用率

當我用下面的代碼運行它運行良好。

void draw() { 
background(0); 

如果我運行該第二示例,有一個低幀速率和近1GB的內存使用。

void draw() { 

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

是這一點,因爲差的代碼,如果是這樣,什麼方面應該改變?

我需要重新繪製每一幀的背景,否則移動的對象會在移動時「繪製」它們的路徑。

謝謝

回答

2

你不應該叫從draw()功能loadImage()功能。

您每秒讀取文件60次,當您只需要讀取它時一次。在草圖級別聲明圖像,從setup()加載它們,並從draw()中繪製它們。像這樣:

PImage img; 

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

謝謝。所以,這不是導致問題的繪圖,而是磁盤訪問速度60x/s。 –