CesiumJS 2022^ 源码解读[0] - 文章目录与源码工程结构

highlight: night-owl theme: arknights很高兴你能在浮躁的年代里还有兴趣阅读源代码,CesiumJS 至今已有十年以上,代码量也积累了三十多万行(未压缩状态)。 我也很荣幸自己的文章能被读者看到,如果对你有帮助、有启发,点个赞就是对我最大的鼓励,感激不尽。本系列文章写于 2022 年,梳理的是 CesiumJS 前端库中的主要源码结构,不涉及着...

CesiumJS 2022^ 源码解读[8] - 资源封装与多线程

theme: arknights highlight: night-owlCesiumJS 对需要网络请求的一切资源都进行了统一的封装,也就是 Resource 类。 在 XHR 技术横行的年代,就出现过 ajax 这种神器,但是 Cesium 团队选择了自己封装 XHR。后来 ES6 出现了 Promise API,axios 再次封装了 XHR,但是 Cesium 团队对这...

Flutter JSON 解析最佳实践

这篇文章其实早该写了,之前的业余时间一直花在开源项目或其它文章上了。 JSON 解析对于 Flutter 新人来讲是个绕不开的话题,大家都在吐槽 Flutter 没有反射,导致 JSON 解析无法像 Android 那样方便,其实是不必要的,因为可以做到一样方便。 网上讲 JSON 解析的文章很多,大家自行去学习即可,本篇文章直接给出我创造出的、我认为的最佳方案,如有雷同,纯属...

详解Promise使用

Promise 引入PromiseExecutorresolve不同值的区别then方法catch方法finally方法resolve类方法reject类方法all类方法allSettled方法race方法 引入Promise 我们调用一个函数,这个函数中发送网络请求(我们可以用定时器来模拟); 如果发送网络请求成功了&#x...

flv.js源码知识点(中)

在上一篇文章 flv.js源码知识点(上)中主要讲解了flv.js的整理流程,今天讲解其中的网速计算和数据缓存处理。 1 网速计算在音视频播放的场景中,用户的网速是影响体验的重要因素,播放器在播放的过程中,可以计算单位时间获取的数据量来衡量网速。flv.js的实例提供了statistics_info事件获取当前的网速。 flvPlayer.on(statistics_info,...

Fastjson2你开始使用了吗?来看看源码解析

highlight: a11y-dark theme: devui-blue概述FastJson2是FastJson项目的重要升级,目标是为下一个十年提供一个高性能的JSON库。根据官方给出的性能来看,相比v1版本,确实有了很大的提升,本篇文章我们来看下究竟做了哪些事情,使得性能有了大幅度的提升。 本篇将采用代码测试 + 源码阅读的方式对FastJson2的性能提升做一个较为全...

CesiumJS 2022^ 源码解读[7] - 3DTiles 的请求、加载处理流程解析

theme: arknights highlight: night-owl3DTiles 与 I3S 是竞争关系,可是比起生态开放性、数据定义的灵活性与易读性来说,3DTiles 比 I3S 好太多了。由于数据生产工具的开发者水平参差不齐,且数据并不存在极致的、万能的优化方法,故 3DTiles 1.0 时代的一些工具可能导致的数据渲染质量问题,让 3DTiles 的性能、显示...

CesiumJS 2022^ 源码解读[6] - 三维模型(ModelExperimental)新架构

theme: arknights highlight: a11y-dark三维模型架构(即 Scene/ModelExperimental 目录下的模块)有别于旧版模型 API(即 Scene/Model.js 模块为主的一系列处理 glTF 以及处理 3DTiles 点云文件的源码),它重新设计了 CesiumJS 中的场景模型加载、解析、渲染、调度架构,更合理,更强大。 这...

从区划边界geojson中查询经纬度坐标对应的省市区县乡镇名称,开源Java工具,内存占用低、高性能

目录坐标边界查询工具:AreaCity-Query-Geometry性能测试数据测试一:Init_StoreInWkbsFile 内存占用很低(性能受IO限制)测试二:Init_StoreInMemory 内存占用和json文件差不多大(性能豪放)参考:数据库查询测试对比查询坐标对应的省市区县乡镇名称步骤一:准备好省市区县乡镇边界的geojson文件步骤二:运行测试程序进行初始...

js--js实现基础排序算法

前言   文本来总结常见的排序算法,通过 JvavScript  来实现 正文   1、冒泡排序   算法思想:比较相邻两个元素的大小,如果第一个比第二个大,就交换它们。从头遍历到尾部,当一轮遍历完后,数组最后一个元素是最大的。除去最后一个元素,对剩下的元素重复执行上面的流程,每次找出剩余元素中最大的,遍历完后,数组是升序的   算法分析:总共需要进行length ...