上下文:我正在开发一个网络应用程序,它必须显示一些相当复杂且不断更新(每秒多次)的 SVG 图像。更新来自单独的服务器,一旦 Web 前端收到更新,SVG 就会更新。 webapp 写在Scala.js图像是使用 d3js 创建的库(另请参阅:scala-js-d3)。我们目前仅支持谷歌浏览器。
问题:一旦 web 应用程序在后台选项卡中停留了一段时间,再次导航到整个站点时,整个站点就会无响应。根据应用程序在后台运行的时间长短,应用程序有时最多需要 20 秒才能再次响应。有什么办法可以解决这个问题吗?
最佳答案
最适合我的解决方案非常简单:
一旦应用程序处于后台选项卡或最小化(可以使用 Page Visibility API 检测到),我只更新我的模型而不绘制任何东西。然后,一旦应用程序再次进入前台,我就会重新绘制所有内容。这解决了我所有的性能问题。
关于javascript - 在选项卡处于后台时使用 d3.js 绘制 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53042400/