为什么这个HTML5应用程序的性能在坐标加载时下降?

Why does the performance of this HTML5 app drop upon coordinate load

本文关键字:加载 坐标 性能 HTML5 应用程序 为什么      更新时间:2023-09-26

我用HTML5编写了这个Mandelbrot绘图仪,它有一个我无法找出的可重复的性能错误。

在Plot Controls部分中,可以将坐标保存到一个选择列表中,以便稍后能够直接返回。然而,如果我选择一组保存的坐标,然后点击"加载",性能突然变得如此之慢,以至于一开始我认为它正在挂起脚本(它最终会开始像它应该的那样开发图像)。

我不知道为什么。Load按钮的onclick处理程序(第258行)只调用gotoCoord()(第457行)。gotoCoord函数只是设置几个绘图参数(xOff, yOff, fMag),然后调用initDisplay()。我在其他几个地方也做了同样的事情,没有任何不良影响(鼠标向下移动在第124行,缩放在第386行,缩放在第394行)。我不明白gotoCoord有什么不同。

我已经做了反复的比较测试,导航到一个情节和计时需要多长时间来开发图像。然后我保存绳索并装载它们。性能受到严重影响。

还有人知道我错过了什么吗?

这个问题已经回答了,所以把它从未回答的列表中删除。

@DCoder的评论解决了它。绘图参数存储在localStorage中,并从那里加载拾取列表。当然,当从localStorage加载时,这些值都是字符串。这就是gotoCoord与其他函数的不同之处。由于参数用于绘图(第589行和590行),因此必须将文本转换为每个帧中每个像素的每次计算的数字!