2017-02-12 79 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。 –