Forge Viewer 中的持久缓存内存增长问题

问题描述 投票:0回答:1

我目前在 Forge Viewer 实现中遇到持续的缓存内存增长问题,需要帮助来解决此问题。目前的问题是,在使用应用程序时,缓存内存利用率不断扩大,有时会达到超过 1 GB 的大小。

为了确定这个挑战是否源自我们的自定义应用程序的查看器,或者是否是 Forge 查看器本身所固有的,我使用 Forge 提供的查看器(可通过以下网址访问)进行了一系列测试:https://autodesk-forge.github.io/forge -教程-postman/display_svf2.html.

调查结果

  1. 初始模型加载:模型初始加载时,大约消耗 250 MB 内存。

  2. 模型重新加载:重新加载同一模型时,内存使用量会增加约 20-30%(约 50 MB),导致累计内存消耗约 300 MB(250 MB + 50 MB)。

  3. 重新打开同一模型:后续重新打开同一模型会触发大约 5% 的缓存大小扩展,导致内存使用量为 310-320 MB。

  4. 内存稳定:超过这一点,内存使用量似乎稳定下来,超出既定缓存大小的偏差最小。

然而,当加载不同的模型时,就会出现复杂性。每个新模型都会引入其缓存大小要求,这取决于模型的尺寸。例如,如果第二个模型占用 300 MB,则集体缓存内存将膨胀到 610 MB (310 MB + 300 MB)。

因此,随着每次引入新模型,存储需求都会增加,从而导致总体缓存大小持续增量增长。

我在我们专有的查看器实现和 Forge Viewer 本身中都观察到了这种行为,确认问题与我们的应用程序无关。您可以在给定图像中看到尺寸:.

enter image description here

我正在寻求建议和潜在的解决方案来缓解缓存内存增长问题。如何解决这个问题并确保缓存内存利用率保持在合理的范围内?是否有任何最佳实践或配置可以帮助管理和优化 Forge Viewer 中的缓存内存?

任何见解、建议或分享的经验将不胜感激。预先感谢您的协助!

node.js reactjs autodesk-forge autodesk-viewer autodesk
1个回答
0
投票
这是设计使然。查看器缓存加载的几何数据以改进后续的设计加载。对于 SVF2 文件格式,几何数据缓存在 IndexedDB 中(它提供

比其他存储替代方案更多的空间):

目前还没有办法限制IndexedDB数据库的大小。您可以将

disableIndexedDb=true

 查询参数添加到 URL 以完全禁用 IndexedDB 缓存。

© www.soinside.com 2019 - 2024. All rights reserved.