《想到什么更新什么系列》processing 性能优化

·Image相关dom

image(img,x,y,width,height),图片过多时会致使掉帧,能够考虑在一开始的时候使用resize()方法进行缩放,而后显示缩放后的图片优化

void setup(){ img = loadImage("..."); } void draw(){ image(img,0,0,20,20); } || \/

void setup(){ img = loadImage("..."); img.resize(20,20); } void draw(){ image(img,0,0); }

 

·Shape相关spa

1.可以noStroke()的,尽可能noStroke(),画布存在大量ellipse时,stroke的绘制会消耗大量计算。code

2.可以Ellipse的,尽可能不用point()blog

 

void setup(){ size(500,500); } void draw(){ background(255); noStroke(); fill(255,0,0); for(int i = 0 ; i < 5000; i ++){ circle(random(width),random(height),10); } surface.setTitle(frameRate + ""); } 对比: void setup(){ size(500,500); } void draw(){ background(255); strokeWeight(10); stroke(255,0,0); for(int i = 0 ; i < 5000; i ++){ point(random(width),random(height)); } surface.setTitle(frameRate + ""); }

 

 

 

 

·Sketch相关图片

有时候加上P2D以后,你可能不须要考虑其余优化问题了,虽然它有可能下降一些渲染精度。细节参照:https://processing.org/tutorials/rendering/ip

 

·语言相关ci

能用for的尽可能不用foreachit

能用[]尽可能不用Collectionsio

相关文章
相关标签/搜索