算法 – 3D的速度更快? Perlin或Simplex噪音?

算法 – 3D的速度更快? Perlin或Simplex噪音?,第1张

概述好的,在网上找到了Perlin和Simplex噪音之间的很多比较.但我真的找不到三个维度之间的简单处理时间比较,这是我最感兴趣的.我读过 that popular PDF(甚至理解大部分 – 耶!)但我不能回答一个简单的问题:假设最佳实现,哪一个更快3D? 这个stackoverflow question answer表明Simplex对我来说是一个非常明显的赢家.当然,还有其他资源声称完全相反. 好的,在网上找到了Perlin和Simplex噪音之间的很多比较.但我真的找不到三个维度之间的简单处理时间比较,这是我最感兴趣的.我读过 that popular PDF(甚至理解大部分 – 耶!)但我不能回答一个简单的问题:假设最佳实现,哪一个更快3D?

这个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.html
2) 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噪音?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1266493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存