Large models in Forge - event to set the ProgressiveDisplay without lag/refresh(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与一座大型建筑的"前后"...
这篇关于Forge-Event中的大型模型可设置无延迟/刷新的ProgressiveDisplay的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Forge-Event中的大型模型可设置无延迟/刷新的ProgressiveDisplay
基础教程推荐
- 在for循环中使用setTimeout 2022-01-01
- 动态更新多个选择框 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01