11-15-2016, 05:10 AM
I've just tried implementing a Simplex noise, and now I have mixed feelings about it. I was expecting it to be slower than our current noise implementation for our specific usage scenarios (generating a 3D array of values close to each other), but the actual slowness is overwhelming - our current noise is so much optimized that it is 11 times faster than the Simplex noise (!) Not bad for an algorithm that is supposed to be much slower
The main reason behind this result (and behind my initial assumption) is the usage scenario - we ask the noise generator for many values close to each other. Our noise implementation has been highly optimized for this, caching whatever values it can. Unfortunately, I can't see how the Simplex noise could be optimized in the same way, it doesn't use a regular grid so it cannot cache anything, it must painfully calculate each and every value.
Remind me to pat myself on the shoulder, this noise optimization is really something I could be proud of
The main reason behind this result (and behind my initial assumption) is the usage scenario - we ask the noise generator for many values close to each other. Our noise implementation has been highly optimized for this, caching whatever values it can. Unfortunately, I can't see how the Simplex noise could be optimized in the same way, it doesn't use a regular grid so it cannot cache anything, it must painfully calculate each and every value.
Remind me to pat myself on the shoulder, this noise optimization is really something I could be proud of