Forge-Event中的大型模型可设置无延迟/刷新的ProgressiveDisplay
我使用Forge查看器,并且我有一个很大的模型,所以每当我移动它时,它都会用非常恼人的闪烁刷新视图。
我尝试将ProgressiveDisplay
手动设置为false
,这似乎是一个很好的选项,但如果我使用Autodesk.Viewing.Initializer()
中的代码将其设置为FALSE,则在模型完全呈现并可在窗口中导航之前需要太多时间。这不是这种模式的选择。我已经使用了GEOMETRY_LOADED_EVENT
,试图触发设置该属性的正确时刻,但当事件被触发时,模型仍然没有完成,再次导致太多的等待时间。
我想知道是否有办法保持ProgressiveDisplay
到True,直到模型/几何体完全加载并在查看器中呈现,然后将其设置为False以便在模型周围停留。是否有活动可以帮助我更好地管理查看器中的大型模型?
我对Forge还很陌生,我还在学习,所以我正在寻求您的建议。 谢谢!
解决方案
有三种方法可以减少您看到的‘网格闪烁’问题...
- 更改devicePixelRatio(填充像素界限)
- 更改FPS计数器(顶点界限)
- 打开试验性‘可见性缓存’选项(渲染绑定)
1.使用DevicePixelRatio
要更改devicePixelRatio,请尝试使用这些值...1.5、1.0、0.75...
window.devicePixelRatio = 0.75
2.使用setFPSTarget
- 将FPS启发式降低到较低的16fps、平均值24fps和最大30fps,使用...
viewer.impl.setFPSTargets(16,24,30);
3.启动可见性剔除
viewer.impl.toggleVizBuffer(true)
这将激活一个实验功能,该功能使用之前的帧来确定哪些是可见的,哪些是不可见的。然后,它会根据像素贡献将最大的东西渲染到最小的东西。它对某些事情很有效,但对另一些事情就不太好了。
这是一个GIF动画,显示了vizBuffer与一座大型建筑的"前后"...
相关文章