Forge 中的大型模型 - 在没有 lag/refresh 的情况下设置 ProgressiveDisplay 的事件
Large models in Forge - event to set the ProgressiveDisplay without lag/refresh
我使用 Forge Viewer 并且我有一个大模型,所以每当我四处移动时,它都会刷新视图并带有非常烦人的闪光。
我尝试手动将 ProgressiveDisplay
设置为 false
,这似乎是一个不错的选择,但如果我使用 Autodesk.Viewing.Initializer()
中的代码将其设置为 false,则需要模型在 window 中完全呈现和导航之前需要太多时间。这不是这种模型的选择。我已经使用了 GEOMETRY_LOADED_EVENT
,试图触发设置 属性 的正确时刻,但是当事件被触发时,模型仍然没有完成,再次导致等待时间过长。
我想知道是否有办法让 ProgressiveDisplay
保持 true 直到 model/geometry 在查看器中完全加载和呈现,然后将它设置为 false 只是为了在模型周围闲逛。有什么活动可以帮助我更好地管理查看器中的大型模型吗?
我是 Forge 的新手,我还在学习,所以我正在寻找您的建议。
谢谢!
可以通过三种方法减少您遇到的 'mesh flickering' 问题...
- 更改 devicePixelRatio(填充像素边界)
- 更改 FPS 计数器(顶点绑定)
- 打开实验性 'visibility Cache' 选项(渲染绑定)
1。使用 devicePixelRatio
要更改 devicePixelRatio,请尝试这些值...1.5、1.0、0.75...
window.devicePixelRatio = 0.75
2。使用 setFPSTargets
- 降低 FPS 启发式,降低到 16FPS,平均 24FPS,最大 30FPS,使用...
viewer.impl.setFPSTargets(16,24,30);
3。激活可见性剔除
viewer.impl.toggleVizBuffer(true)
这将激活一项实验性功能,该功能使用之前的帧来确定什么是可见的,什么不是。然后它根据像素贡献将最大的东西渲染为最小的。它对某些事情很有效,但对其他事情却不太有效。
这是一个 GIF 动画,展示了带有大型建筑物的 vizBuffer 'before and after'...
我使用 Forge Viewer 并且我有一个大模型,所以每当我四处移动时,它都会刷新视图并带有非常烦人的闪光。
我尝试手动将 ProgressiveDisplay
设置为 false
,这似乎是一个不错的选择,但如果我使用 Autodesk.Viewing.Initializer()
中的代码将其设置为 false,则需要模型在 window 中完全呈现和导航之前需要太多时间。这不是这种模型的选择。我已经使用了 GEOMETRY_LOADED_EVENT
,试图触发设置 属性 的正确时刻,但是当事件被触发时,模型仍然没有完成,再次导致等待时间过长。
我想知道是否有办法让 ProgressiveDisplay
保持 true 直到 model/geometry 在查看器中完全加载和呈现,然后将它设置为 false 只是为了在模型周围闲逛。有什么活动可以帮助我更好地管理查看器中的大型模型吗?
我是 Forge 的新手,我还在学习,所以我正在寻找您的建议。 谢谢!
可以通过三种方法减少您遇到的 'mesh flickering' 问题...
- 更改 devicePixelRatio(填充像素边界)
- 更改 FPS 计数器(顶点绑定)
- 打开实验性 'visibility Cache' 选项(渲染绑定)
1。使用 devicePixelRatio
要更改 devicePixelRatio,请尝试这些值...1.5、1.0、0.75...
window.devicePixelRatio = 0.75
2。使用 setFPSTargets
- 降低 FPS 启发式,降低到 16FPS,平均 24FPS,最大 30FPS,使用...
viewer.impl.setFPSTargets(16,24,30);
3。激活可见性剔除
viewer.impl.toggleVizBuffer(true)
这将激活一项实验性功能,该功能使用之前的帧来确定什么是可见的,什么不是。然后它根据像素贡献将最大的东西渲染为最小的。它对某些事情很有效,但对其他事情却不太有效。
这是一个 GIF 动画,展示了带有大型建筑物的 vizBuffer 'before and after'...