# Perlin vs Simplex noise performance

**URL:** <https://discourse.processing.org/t/perlin-vs-simplex-noise-performance/4189>\
**Category:** Gallery\
**Created:** [October 6, 2018, 3:08pm UTC](https://discourse.processing.org/t/perlin-vs-simplex-noise-performance/4189 "2018-10-06T15:08:34Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![hamoid](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/hamoid/32/58_2.png) [@hamoid](https://discourse.processing.org/u/hamoid)\
**Post date:** [October 6, 2018, 3:52pm UTC](https://discourse.processing.org/t/perlin-vs-simplex-noise-performance/4189/2 "2018-10-06T15:52:22Z")

</div>

Since I started comparing the two, why not continue…

Noise fields comparing both (perlin on the left, the third argument of noise is constant).  
 ![2018-10-06-174735_500x500_scrot](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/e/e71a1aa9c463d445b18bcb51e4d4193fa3b773c2.png)

And same, but third argument is slowly changing time:  
 ![2018-10-06-174832_500x500_scrot](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/9/99fd0021c7a2ad345339a4a50c91d362cb1c3dd2.png)

Rendered with this program:

```auto
import toxi.math.noise.SimplexNoise;

void setup() {
  size(500, 500);
  background(0);
  stroke(255, 50);
  noiseDetail(1);
}
float zoom = 0.03;
void draw() {
  float xx = random(width);
  float yy = random(height);
  for (int i=0; i<500; i++) {
    float a;
    float t = 0; // frameCount * 0.001;
    if (xx<width/2) {
      a = TWO_PI * noise(xx * zoom, yy * zoom, t);
    } else {
      a = PI * (float)(SimplexNoise.noise(xx * zoom, yy * zoom, t));
    }
    xx += cos(a);
    yy += sin(a);
    point(xx, yy);
  }
}

```

---

_[View the full topic](https://discourse.processing.org/t/perlin-vs-simplex-noise-performance/4189)._
