在山海鲸可视化中,除了精简组件、优化模型等常规方法外,还可以通过调整渲染设置和缓存策略来优化包含大量组件和复杂交互的可视化项目性能,具体如下:
渲染设置调整
- 阴影设置:阴影对视觉效果和性能影响较大。如果 FPS 不足,可降低级联阴影的级联级数或阴影分辨率;若仍不理想,可将级联阴影修改为普通阴影。还可以关闭控件自适应,并设置一个阴影范围,让只有特定范围内的物体会投射阴影,同时可约束主相机的 Z 轴范围来增强阴影质量。此外,开启 “视野外不投影” 功能,可使物体在相机可见范围外不产生投影,优化性能。
- 天空设置:动态天空和体积云对性能消耗较大,可将天空类型改为静态天空,调低体积云的渲染质量和步进次数,甚至直接关闭体积云。同时,关闭环境光中的实时抓取天空功能,使用环境光或上传环境贴图来代替。
- 关闭屏幕空间反射和灯光:屏幕空间反射和灯光启用时会导致山海鲸 3D 引擎切换到延迟渲染管线,在性能较差的 GPU 上会显著卡顿。因此,可关闭屏幕空间反射,避免使用灯光,以提升性能。
- 关闭泛光或辉光:当屏幕分辨率较高时,泛光和辉光会显著影响性能。可先降低泛光或辉光的质量,或者进一步关闭该效果。
- 关闭其他高级效果:如体积雾、自动曝光、运动模糊、环境光遮蔽、大气散射、高度雾等高级特效,在 FPS 较低时,尽量避免使用。
- 使用轻 3D 功能:轻 3D 功能通过将复杂的立体模型预先渲染成高质量的二维平面图片,大幅降低实时渲染对硬件设备的要求。在组件图层中选中 “场景” 图层,在 “样式 - 基础设置” 中可将轻 3D 模式设置为 “生效”“仅移动端生效”“加载前选择” 或 “根据性能选择” 等。
缓存策略调整
- 配置数据缓存:在山海鲸的配置文件中,适当降低数据面板的刷新频率,避免对服务器造成过大压力。同时,配置缓存策略,设置缓存有效期,减少重复的数据加载。
- 使用 gltf 格式山海鲸可视化:导入外部模型时,采用 gltf 代替 glb,因为 gltf 是分贴图加载的,同时可以调用浏览器的缓存机制,让第二次加载速度显著提升。