我遇到一个问题,即主要的javascript线程因垃圾回收而被阻止。 (见下面的截图)。用例是我从具有oboe.js的服务器流式传输JSON,处理一些节点,并将节点放在WebGl渲染器中并在流式传输时渲染它们。这种方法效果很好,除了垃圾收集器由于收集9mb的块而导致2fps,需要大约500ms。
问题在于我不知道收集的内容以及如何防止收集内容。所以我的问题有两个:
正在发生的事情的片段:
答案 0 :(得分:0)
毕竟我找到了这个问题。有一个解析过程会吐出一个变量,这个变量是一个非常复杂的嵌套对象。
Uncaught Function ContextActivationManager_getAppContextAsync call failed. ErrorCode is -2, exception: Failed origin check
from outlook-web-16.01.js
在进程结果阶段之后,结果变量被标记为垃圾收集,它立即执行。我将结果缓存在临时变量中并稍后“手动”删除它,这解决了问题。