当前位置: 首页 > news >正文

三维模型加载慢的问题优化

业务背景

在桂林XXX人民法院项目的XX法院三维模型应用开发中用户反馈模型加载慢的问题,要想优化该问题主要从两方面入手

  1. 硬件升级
  2. 软件优化

硬件升级

可参考高院三维模型的超高分电脑配置

处理器:Hygon C86 3285 8-orecprocessor 3.00GHz(2个处理器)

RAM:32GB

显卡:NVIDIA Quadro RTX 4000

显示器:AVCIT2K

  • 桌面分辨率        1920 x 1080
  • 有源信号分辨率     1920 *1080
  • 刷新频率(Hz)       60 Hz
  • 位深度           8位
  • 颜色格式         RGB
  • 颜色空间         标准动态范围(SDR)

软件优化

VR缓存升级

联系VR负责的同事获取VR应有的缓存升级方案以及相关资源

问题排查

        在VR缓存升级后加载模型已经得到了很大一部分的改善,不过依然加载打点信息慢的问题,模型加载到点位处理要大概需要二三十秒

        通过排查,是在模型网页渲染加载的过程中,底图会向向ivr请求加载模型数据以及点位坐标数据和部分物料,物料加载好后会向业务组件提供的接口发起请求加载展示的业务数据

        网页的请求是异步的,但是数量有上限的,不同浏览器,不同http协议版本允许的网络请求资源数是不一样的,不过总的来说在2-8个之间。底图中也是异步进行了好几个接口的请求,是可能会造成请求列队阻塞的

        在下面现场的两张图中,getVisitorData的接口(业务组件)请求在findModelResource.do(ivr请求点位资源接口)之前

并且该接口请求花费居然高达25s

接口优化

        首先需要排查该接口慢的原因,进到该接口里查看代码逻辑,主要逻辑是从acs接口获门禁事件信息,进入接口调用逻辑很快就找到问题主要耗时所在

        之前开发的同事把pageSize设定为5的分页查询特定时间上的门禁事件,导致循环请求多次acs的接口,增加pageSize的值,减少请求的次数

        再继续排查耗时多的操作,发现调取acs的取数据接口要调两次,一次是取今天的,一次是取昨天的进行计算增长率

        两次请求之间没有强关联的关系,所以这里可以改成使用CompletableFuture异步请求的方式进行数据获取

优化后该接口的响应速度得到提升

数据量限制

        修改了接口之后在现场调试过程中遇到了影响三维模型加载速度慢的特殊情况,在三维模型运行的上午加载速度还是正常的,无卡顿的现象,但是到了下午每次加载就可以卡顿起来

        经过排查发现实际上是当天是进行模型报警测试,人脸报警的阈值设置为0%,导致当天的人脸抓拍都当做了人脸报警事件,到下午后一天有四千多条事件记录,因为一个人脸报警里包含有一张人脸抓拍图和一张原图,四千多条人脸报警相当于要加载八千多张人脸图片,导致浏览器在渲染过程极度卡顿。

        一般情况下不会出现一天四千多条告警数据的极端情况,但是展示那么多告警信息于用户而言大部分是无用的,可去事件检索里宿舍不会在数据看板上一条条的看,所以限制数据看板上展示最新的100条告警数据即可


http://www.mrgr.cn/news/60540.html

相关文章:

  • 【实战案例】Django框架表单处理及数据库交互
  • GPT打数模——电商品类货量预测及品类分仓规划
  • el-table在某些条件下禁止选中
  • LeetCode 107.二叉树的层次遍历 II
  • proteus中没有STM32F103C8(已解决)
  • 【spring cloud】深入探讨 集群,分布式,微服务
  • 置换环模板题E - Permute K times 2
  • 数字后端零基础入门系列 | Innovus零基础LAB学习Day7
  • 深度剖析美区代理IP的多元应用与优势
  • su user更换用户后无法打开图形屏幕Cannot open your terminal ‘/dev/pts/0‘ 解决办法
  • KVM 虚拟机Anolis OS 8.9 下利用宝塔面板中的 Docker 配置 Nextcloud + onlyoffice
  • 【vs2022】windows可用的依赖预编译库
  • 基于Multisim的串联型稳压电源设计与仿真
  • Agent实战:基于大模型的Agent技术框架开发实战
  • Python学习的自我理解和想法(22)
  • 双十一宠物空气净化器推荐,希喂、霍尼韦尔、有哈哪款性价比高?
  • llama.cpp基础知识与原理导读
  • 常用的8款文件加密软件分享|2024企业办公文件怎么加密?
  • xlive.dll错误的详细解决办法步骤教程,xlive.dll基本状况介绍
  • 适合你的GIS工具箱是哪款?五款实用工具优缺点详解
  • 文件相对路径与绝对路径
  • 深度学习训练中epoch的含义,以及每个epoch训练中acc和loss的含义
  • Android NSD局域网发现服务
  • 接口测试需要验证数据库吗?
  • 【01初识】-初识 RabbitMQ
  • 【归一化技术】层归一化和批归一化