前端性能优化思想模型,在自动驾驶领域的实践(下)

简介: 前端性能优化思想模型,在自动驾驶领域的实践

代码参考如下:

const transformToBinaryPcd = (points) => {
  // XYZI模式,共4个参数,每个参数4个字节
  const dataview = new DataView(new ArrayBuffer(16 * points.length));
  points.forEach((point, rowIndex) => {
    if (point.length) {
      point.forEach((axis, axisIndex) => {
      dataview.setFloat32(rowIndex * 16 + axisIndex * 4, Number(axis), true)
      })
    }
  })
  return dataview;
}
const run = (input, output) => new Promise((resolve) => {
  const data = fs.readFileSync(input)
  const ab = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
  const result = parse(ab);
  const finalPoints = trans(result.points)
  const dataview = transformToBinaryPcd(finalPoints);
  const wstream = fs.createWriteStream(output, 'binary');
  wstream.write(getPCDHeaderString(finalPoints.length))
  wstream.write(Buffer.from(dataview.buffer))
  wstream.end(() => {
    resolve(`${output} 写入成功!`);
  });
})

拆分&流式

静态帧标注场景,我们一开始采用离线堆叠的方式处理文件,处理好合并帧PCD之后,再整体加载,结果不言而喻,非常差的体验,一个叠20帧的PCD文件大小高达五六百MB,即便进行二进制压缩,也需要上百MB

image.png单帧PCD渲染图,约30万个点image.png叠20帧PCD渲染图,约600万个点

最终我们决定采取 分片流式加载 的方式,渐进式的加载PCD,并增量绘制到场景(scene)里,效果如下:

image.png分片流式加载(模糊是因为我压缩了GIF)

优化完,体验就舒服多了,从图上可以明显看出来这种渐进式加载体验带来的丝滑效果很是令人满意。



全文完。码字不易,如果你还想继续看我写的东西,就关注我吧(记得加星标🌟哦),顺便给个赞👍或点一下在看,你的支持是我继续写下去的动力。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
目录
相关文章
|
24天前
|
前端开发 编解码 数据格式
浅谈响应式编程在企业级前端应用 UI 开发中的实践
浅谈响应式编程在企业级前端应用 UI 开发中的实践
20 0
浅谈响应式编程在企业级前端应用 UI 开发中的实践
|
2天前
|
前端开发 JavaScript Go
构建高性能Web应用:优化前端资源加载
在构建现代Web应用时,优化前端资源加载是至关重要的一步。本文将介绍一些提升Web应用性能的关键策略,包括减少HTTP请求、压缩和合并资源、使用CDN加速、以及异步加载技术等。通过实施这些优化策略,开发人员可以显著提升网站的加载速度和用户体验。
|
3天前
|
前端开发 JavaScript UED
如何优化前端网页加载速度
在当今互联网时代,网页加载速度成为了用户体验的重要指标之一。本文将介绍一些优化前端网页加载速度的方法,包括压缩资源、使用CDN加速、延迟加载等技术手段,帮助开发者提升网页性能,提高用户满意度。
|
10天前
|
缓存 前端开发 UED
优化前端性能的六大技巧
在当今互联网高速发展的时代,优化前端性能是每个开发者都必须重视的任务。本文将介绍六大实用的技巧,帮助开发者提升前端应用的性能,提升用户体验。
|
11天前
|
存储 缓存 前端开发
前端如何利用indexDB进行数据优化
使用IndexedDB作为浏览器内置的客户端数据库,用于存储大量数据和实现离线支持。它能缓存常用数据,减少服务器请求,提高用户体验。IndexedDB支持数据索引、复杂查询及版本管理,允许离线操作并同步到服务器。但需熟悉其异步API,可借助Dexie.js、localForage等库简化使用。
|
13天前
|
机器学习/深度学习 前端开发 算法
使用机器学习优化前端用户体验
在当今高度竞争的互联网市场中,用户体验是至关重要的。本文将探讨如何利用机器学习技术来优化前端用户体验,从而提高用户满意度和留存率。我们将介绍如何利用机器学习算法分析用户行为数据,优化网站性能和内容推荐,以及如何实时调整界面设计和交互方式,从而实现个性化、智能化的用户体验。
|
15天前
|
前端开发 算法 JavaScript
如何优化前端性能:探索图片压缩与延迟加载技术
本文深入探讨了前端性能优化中的关键问题:图片压缩与延迟加载技术。通过介绍图片压缩的原理和方法,并结合实例说明了如何有效减少图片大小、提升加载速度;同时,详细解析了延迟加载技术的实现原理及其在提高页面加载性能中的作用,为前端开发者提供了实用的优化方案。
|
17天前
|
缓存 前端开发 JavaScript
如何优化前端网页加载速度:7个实用技巧
在当今互联网时代,网页加载速度对用户体验至关重要。本文将介绍7个实用的技巧,帮助前端开发者优化网页加载速度,提升用户体验。从压缩资源到异步加载,从图片优化到缓存策略,这些技巧将帮助你在前端开发中取得更好的效果。
|
25天前
|
前端开发 JavaScript UED
如何优化前端网页性能提升用户体验
本文将探讨如何通过一系列前端优化技术,提高网页加载速度、减少资源请求次数,从而优化用户体验。我们将介绍一些常用的性能优化技巧,包括资源压缩、懒加载、CDN 加速等方法,帮助开发者更好地构建高效、流畅的前端网页。
|
1月前
|
编解码 前端开发 UED
现代前端开发中的响应式设计原则与实践
在当今移动互联网时代,响应式设计已成为现代前端开发的重要组成部分。本文将介绍响应式设计的基本原则及实践方法,包括弹性网格布局、媒体查询和流式布局等技术,以及在实际项目中的应用经验和常见挑战。