这个stackoverflow question answer表明Simplex对我来说是一个非常明显的赢家.当然,还有其他资源声称完全相反.
然而,一般声明似乎是Perlin噪声具有O(2 ^ N)的复杂度,而Simplex具有O(N ^ 2).对于3D来说,对于Perlin来说意味着8,对于Simplex来说意味着9.但是,在某些网站上,我发现Simplex实际上是O(N)的说法.那么这里的真实情况是什么,这对3D的速度意味着什么呢?
我在这里不知所措,我真的主要对3D应用程序(包括洞穴的随机地形生成)的使用感兴趣,而且如果我希望它能像我一样快,那么我找不到一个问题的答案.可能.
所以也许有人可以帮助我:)
解决方法 1) http://www.fundza.com/c4serious/noise/perlin/perlin.html2) http://www.6by9.net/b/2012/02/03/simplex-noise-for-c-and-python
使用这两种实现方式,在“我的笔记本电脑”中执行8M噪声样本的执行时间:
(g -O6)
1)1.389s,即每秒5.7M *** 作数
2)0.607s,即每秒13.2M *** 作数
但…
当真的,真的要进行优化时,应该研究一下
>更高级别的优化(每个阶段真正做了什么:有替代方案吗?)>分支机构>记忆模式>依赖性> LUT尺寸>需要单独的算术运算,延迟和吞吐量>使用SIMD的可利用并行性>实时变量的数量
总结以上是内存溢出为你收集整理的算法 – 3D的速度更快? Perlin或Simplex噪音?全部内容,希望文章能够帮你解决算法 – 3D的速度更快? Perlin或Simplex噪音?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)