加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 23:25:30 所属栏目:大数据 来源:网络整理
导读:好的,在网上找到了Perlin和Simplex噪音之间的很多比较.但我真的找不到三个维度之间的简单处理时间比较,这是我最感兴趣的.我读过 that popular PDF(甚至理解大部分 – 耶!)但我不能回答一个简单的问题:假设最佳实现,哪一个更快3D? 这个stackoverflow quest
好的,在网上找到了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的可利用并行性>实时变量的数量

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读