joeiddon / perlin

A JavaScript library for Perlin Noise generation
113 stars 22 forks source link

Memory leak #3

Open adri326 opened 2 years ago

adri326 commented 2 years ago

After pinning down the source of the memory leak in my application, I saw that a huge portion of it came from your library, specifically perlin.js:41.

this.memory[[x,y]] = v;

I understand the motive behind it (it's much faster to retrieve this data from memory), but in my case it led to the application crashing after one hour of perlin-driven motion.

I'd recommend to add some kind of flag to disable the memory, or to stop putting anything in it once it reaches a critical size.

Also, your library has no LICENSE file, so I can't contribute to it.

DarksideAlex commented 8 months ago

The problem here is, that the perlin noise is being procedurally randomly generated (It is not a random seed or something, but instead it only generates the result, once you're requesting it). This is why it has to be saved to memory. And that is also why I'm not using this library anymore: It's only good for random perlin noise, but I need perlin noise to generate terrain.