【问题标题】:Mandelbrot set rendering too slowMandelbrot 设置渲染太慢
【发布时间】:2018-10-15 23:21:41
【问题描述】:

我在 Javascript 上创建了一个创建 mandelbrot 分形的程序,我在 html 画布中绘制了它。我的渲染方法是每行迭代,从 0 到 500 像素,然后简单地循环创建 500 行,每行 500 像素。

我的问题是,当我渲染它时,(用更大的放大率刷新页面),需要很多时间很多。 300 倍放大大约需要 30 秒,但 5000 需要一个多小时。请帮忙。 我想要非常高的放大倍率和快速加载的图像。

5000X 放大倍率 (-1.42 , 0)

400X 放大倍率 (-1.4 , 0)

我通过下载的文件运行我的程序,在 atom 中编辑,在 chrome 浏览器中扩展名为 .html。

【问题讨论】:

  • 听起来你需要限制你的渲染器。在调整窗口大小时在渲染之前坚持一个超时。
  • 另外,考虑 Web Workers 来完成这项任务可能真的非常重要。
  • @RandyCasburn 谢谢!
  • 你的函数不是递归/渐进式的吗?我认为没有解决方法。您必须在从 1 到 4999 的每个缩放时计算图像,才能在缩放 5000 时计算它。
  • 我只是有一个问题,我想更快地进行分形,因为放大倍数越大,计算机渲染所需的时间就越多

标签: javascript math html5-canvas fractals mandelbrot


【解决方案1】:

作为曾经用 C++ 实现 Mandelbrot 的人,是的,它很慢。

在您的情况下,您想要做的是利用 WebGL 来实现全 GPU 加速,并在片段着色器中完成繁重的工作。只是要非常小心浮点恶作剧。

【讨论】:

  • 如果使用浮点数会出什么问题?
猜你喜欢
  • 1970-01-01
  • 2014-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多