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

news2024/11/30 14:35:53

业务背景

在桂林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.coloradmin.cn/o/2225866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云 SAE 应用引擎可观测性最佳实践

SAE 简介 Serverless 应用引擎 SAE(Serverless App Engine)是一款零代码改造、极简易用、自适应弹性的应用全托管平台。SAE 能够让用户免运维 IaaS 和 Kubernetes,秒级完成从源代码、代码包、Docker 镜像部署任意语言的在线应用(…

【面试题系列】MySQL 中 GROUP BY 和 DISTINCT 有什么区别?

在 MySQL 中,GROUP BY 和 DISTINCT 是两个常用的 SQL 子句,它们都用于处理数据的重复性,但在使用场景、语法、功能和性能方面存在显著差异。 本文将详细探讨这两者的区别,包括其语法、功能特点、使用场景及性能考虑,并…

Java类的static成员以及代码块(详细版)

文章目录 一、什么是static成员二、static修饰的成员有何意义三、static修饰成员变量四、static修饰成员方法4.1、静态成员变量不可以在方法内创建4.2、静态成员方法内部不可以访问非静态成员变量4.3、总结 五、static成员变量的初始化5.1、就地初始化5.2、静态代码块初始化 六…

Linux | Rsync 命令:16 个实际示例(下)

引言 Rsync(远程同步)是Linux/Unix系统中用于远程和本地复制及同步文件和目录的常用工具。 利用rsync命令,您可以轻松地在不同目录、硬盘和网络之间进行数据的远程和本地复制与同步,进行数据备份,以及在两台Linux系统间…

吃牛羊肉的季节来了,快来看看怎么陈列与销售!

一、肉品陈列基本原则 (一)新鲜卫生 1、保证商品在正确的温度、正确的方式下陈列 (1)正确的温度:冷藏柜-2℃-2℃;冷冻柜库-20℃-18℃ (2)正确的方式: 商品不遮挡冷气出风口&…

如何用 obdiag 排查 OceanBase数据库的卡合并问题——《OceanBase诊断系列》14

1. 背景 卡合并在OceanBase中是一个复杂的问题,其产生可能源于多种因素。目前,对于卡合并的明确界定尚不存在统一标准,一方面,我们界定超过36小时未完成合并为合并超时,此时RS会记录ERROR日志;另一方面&am…

图文详解ChatGPT-o1完成论文写作的全流程

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 本月中旬OpenAI发布了OpenAI o1系列新的AI模型。 据OpenAI介绍,这些模型旨在花更多时间思考后再做出反应,就像人一样。通过训练,它们学会改进思维过…

外包干了7天,技术明显退步。。。。。

先说一下自己的情况,本科生,22年通过校招进入南京某软件公司,干了接近2年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试&…

映射问题的解决办法(mybaitis)

最初我用的是注解来操控数据库&#xff08;注释掉的部分&#xff09; Mapper public interface ThreadMapper {// Select("SELECT * FROM thread LIMIT #{page}, #{size}")List<Thread> getListByPage(Param("page") int page, Param("size&qu…

ssm005基于SSM框架的购物商城系统的开发与实现(论文+源码)_kaic

设计题目&#xff1a;购物商城系统的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对…

[0152].第3节:IDEA中工程与模块

我的后端学习大纲 IDEA大纲 1、Project和Module的概念&#xff1a; 2、Module操作&#xff1a; 2.1.创建Module: 2.2.删除Module&#xff1a; 2.3.导入Module&#xff1a; 1.导入外来模块的代码&#xff1a; 查看Project Structure&#xff0c;选择import module&#xff1a…

部署DNS主从服务器

一。DNS主从服务器作用&#xff1a; DNS作为重要的互联网基础设施服务&#xff0c;保证DNS域名解析服务的正常运转至关重要&#xff0c;只有这样才能提供稳定、快速日不间断的域名查询服务 DNS 域名解析服务中&#xff0c;从服务器可以从主服务器上获取指定的区域数据文件&…

nfs实验2

#服务器共享目录/xiaoming供客户端上传和下载文件&#xff0c;并且客户端上传的文件所属用户为xiaoming用户&#xff0c;所属组为小明组 服务端&#xff1a; 启动nfs服务器服务&#xff1a; 创建一个新的用户组xiaoming&#xff1a; 搜索/etc/group 文件中所有包含字符串 &qu…

python爬虫实战案例——抓取B站视频,不同清晰度抓取,实现音视频合并,超详细!(内含完整代码)

文章目录 1、任务目标2、网页分析3、代码编写 1、任务目标 目标网站&#xff1a;B站视频&#xff08;https://www.bilibili.com/video/BV1se41117WP/?vd_sourcee8e376ccbc5aa4cfd88e6a7917adfd1a&#xff09;&#xff0c;用于本文测验 要求&#xff1a;抓取该网址下的视频&…

[四轴飞行器] 方向控制原理

四轴飞行器的基本工作原理 四轴飞行器基本原理是通过飞控控制四个电机旋转带动桨叶产生升力,分别控制每一个电机和桨叶产生不同升力从而控制飞行器的姿态和位置 四轴在空中可实现八种运动,分别是垂直上升,垂直下降,向前运动,向后运动,向左运动,向右运动,顺时针改变航向,逆时针…

量化交易打怪升级全攻略

上钟&#xff01; 继续分享量化干货~ 这次要唠的是Stat Arb的新作《Quant Roadmap》(中译名《量化交易路线图》)&#xff0c;为了方便&#xff0c;下文就称呼作者为“老S”&#xff0c;根据公开资料显示&#xff0c;他可是正儿八经的的量化研究员出身&#xff0c;在漂亮国头部对…

视觉化医学数据:使用气泡图揭示患者健康指标的关系

在医学领域&#xff0c;数据的可视化至关重要。它不仅帮助研究人员和医生理解复杂的关系&#xff0c;还能为临床决策提供有力支持。在众多可视化工具中&#xff0c;气泡图因其直观性和多维性而广受欢迎。本文将通过一个具体例子&#xff0c;展示如何使用气泡图来分析患者的体重…

钡铼技术R40工业无线路由支持边缘计算断网补传

随着工业互联网和智能制造的迅速发展&#xff0c;工业设备之间的互联互通变得愈加重要。在这个背景下&#xff0c;钡铼技术推出的R40工业无线路由器&#xff0c;凭借其先进的边缘计算能力和断网补传功能&#xff0c;为工业应用提供了强大的支持。 一、边缘计算的意义 边缘计算…

js实现简单计算机/验证密码是否合法

1.怎么实现一个计算机可以进行简单的加减乘除呢? 就像下面这样可以计算112... 在js中可以直接获取id的输入文本框对应的值 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" c…

基于SSM+微信小程序考试的管理系统(考试1)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序考试的管理系统实现了管理员及用户。 1、管理员功能有个人中心&#xff0c;用户管理&#xff0c;考试资料管理&#xff0c;用户交流管理&#xff0c;试卷管理&#xff…