using point will kill your fps instead use the pixel array also calling noise for every pixel will kill your fps but is not so easy to overcome. you could generate n frames and just loop those but if you really want to have a non-repeating noise visualisation your best bet (at least before taking on shaders) is to start manipulating pixels directly. below is a really simple and imperfect example that is rough around the edges but will show that there is an improvement in the fps from your original and it can be improved further.
int gridResolution;
int gridColumns;
int gridRows;
float noiseScale = .02;
void setup() {
size(512, 512, P2D);
initGrid();
}
void initGrid() {
gridResolution = floor(min(64, max(4, mouseY / 32)));
gridColumns = floor(width / gridResolution);
gridRows = floor(height / gridResolution);
}
void mouseMoved() {
initGrid();
}
void fillRectangle(int x, int y, int w, int h, color c) {
for (int yy = y; yy < y + h; yy++) {
for (int xx = x; xx < x + w; xx++) {
pixels[xx + yy * width] = c;
}
}
}
void draw() {
loadPixels();
float noiseVal;
for (int y = 0; y < gridRows; y++) {
for (int x = 0; x < gridColumns; x++) {
noiseVal = noise(random(0, 255)*noiseScale, random(0, 255)*noiseScale);
fillRectangle(x * gridResolution, y * gridResolution, gridResolution, gridResolution, color(noiseVal * 255));
}
}
updatePixels();
textAlign(LEFT, TOP);
fill(255);
text(frameRate, 5, 5);
}