【问题标题】:await AggregateView.waitForLoadDone() sometimes blocks indefinitely when using SVF2使用 SVF2 时,await AggregateView.waitForLoadDone() 有时会无限期阻塞
【发布时间】:2023-04-03 08:45:01
【问题描述】:

切换到 SVF2 await aggregated.waitForLoadDone() 后,有时会无限期阻塞。不幸的是,我无法确定地重现该问题。它可以在启动我的应用程序后立即发生,在加载/卸载模型之后或根本不发生。

我之前没有观察到这种行为,但直到现在我都无法(ab)像这样使用查看器(例如,在非常大的模型之间快速切换,有些是半损坏的)。 SVF2 的荣誉,性能令人难以置信。

我目前的解决方法是 Promise.race waitForLoadDone() 并在 10 秒后拒绝。这工作正常,并使我的应用程序保持一致状态。

我怀疑问题可能与网络有关。

编辑:我将其缩小到属性model.getData().loadDone,它有时会永远保持false

Edit2:每个版本都会变得更糟。我现在在 7.60,观众不断休息。有些对象永远不会加载,websockets 卡住并且不传输任何数据,用户需要手动清理他们的浏览器缓存。这怎么可能通过任何 QA?

【问题讨论】:

    标签: autodesk-forge autodesk-viewer


    【解决方案1】:

    恐怕这可能是 - 正如您所指出的 - 网络问题。您可能已经注意到 SVF2 格式使用 WebSockets 将粒度资产数据传输到浏览器,但如果该持久连接中断,查看器可能无法恢复。

    下次您看到这种情况时,请检查控制台日志(如果可能,请在此处分享)和网络选项卡,以查看 WebSocket 连接是否仍处于活动状态。如果是,并且模型仍未成功加载,请向forge (dot) help (at) autodesk (dot) com提交报告,并提供尽可能多的信息,以便我们进行调试。

    【讨论】:

    • 嗨,彼得!感谢您的答复。我将尝试进一步调试此问题并向您发送一封电子邮件,其中包含我的发现。
    猜你喜欢
    • 2018-03-13
    • 1970-01-01
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 2015-08-06
    相关资源
    最近更新 更多