07-ArcGIS For JavaScript--隐藏参数qualitySettings(memory和lod控制)
目录
- 1、综述
- 2、sceneview.qualitySettings
- 2.1、sceneview.qualitySettings.memoryLimit
- 2.2、lodFactor
- 2.3 additionalCacheMemory
- 3、结论
1、综述
先上重点,SceneView.qualitySettings为隐藏对象参数,该对象的memoryLimit和lodFactor等值,可以修改当前可见区域加载的内存大小,并且可以修改当前场景中加载的模型的lod的层级(控制相同视角下的模型的粗糙度)。
对于ArcGIS For JavaScript,只能从SceneViewPerformanceInfo对象下图参数中看到与内存相关的内容:


对于这些内存的内容,我们能够了解到当前场景中使用的内存大小,以及能够允许的最大内存,但是却不能去直接设置当前场景可加载的内存大小。
通过下面代码,可以打印一下SceneView对象的信息。
const view = new SceneView({container: "viewDiv",map: map,});view.when(function () {console.log(view)})
在我们常用的qualityProfile下面有一个qualitySettings的参数,这个就是我们今天要降到的隐藏参数。

2、sceneview.qualitySettings
对于qualitySettings的研究后,目前有可见效果的参数有以下几个:
- memoryLimit:设置当前可见区域内的最大加载内存
- lodFactor:设置当前场景中模型的lod级别
- additionalCacheMemory:设置缓存本地的内存大小。
下面分别介绍这几个参数。
2.1、sceneview.qualitySettings.memoryLimit
我们知道SceneView场景中qualityProfile参数设置为high, medium 和low的时候,其对应的memoryLimit的值是不一样的,如下:

这个memoryLimit其实就是限制了当前可见区域的数据加载的对大值,例如,当讲sceneview.qualitySettings.memoryLimit值设置为50MB的时候,出现如下情况。
- 模型再拖动的时候出现缺块问题。
- 后台报内存溢出。



这个缺块就是因为当前可见区域内存太小,导致加载其他数据时会先删除之前加载的缓存,再去加载新的,删除的时候就会导致缺块问题。
因此当遇到后台报内存错误问题,或者页面在加载的时候出现缺块问题,可以通过调整sceneview.qualitySettings.memoryLimit去解决。
2.2、lodFactor
lodFactor主要是修改当前模型限制的lod级别,默认为1,当设置为0.5的时候,模型限制的比较粗糙,当设置为2的时候,模型限制的比较精细。
sceneview.qualitySettings下有个sceneService对象,下面可以看到有integratedMesh(倾斜模型)、object(3d object模型)、point(点模型)、pointCloud(点云模型)等对象。

用倾斜举例,可以看到integratedMesh下面有个lodFactor的值。

默认情况:

lodFactor=0.1时:
view.qualitySettings.sceneService['integratedMesh'].lodFactor = 0.1;

lodFactor=2时
view.qualitySettings.sceneService['integratedMesh'].lodFactor = 2;

因此,当需要在特定场景对模型的精细度要求比较严格的时候,可以通过调整lodFacrtor的值进行修改。
2.3 additionalCacheMemory
additionalCacheMemory主要是设置当前页面缓存到本地硬盘的大小的变量,可以将需要预览的数据提前缓存到本地,下次浏览的时候提升加载速度。但是这种情况再页面刷新后会本清除。
3、结论
- 当模型数据比较大的时候,模型加载出现缺块问题,可通过修改memoryLimit值进行测试。但是大小不能太大,需要考虑浏览器的压力。
- 当场景在不同情况下对模型的精度要求很严格的时候,或者需要降低模型质量去提升加载效率的时候,可通过修改lodFactor。
- additionalCacheMemory主要是设置当前页面缓存到本地硬盘的大小的变量,可以将需要预览的数据提前缓存到本地,下次浏览的时候提升加载速度。但是这种情况再页面刷新后会本清除。
相关文章:
07-ArcGIS For JavaScript--隐藏参数qualitySettings(memory和lod控制)
目录 1、综述2、sceneview.qualitySettings2.1、sceneview.qualitySettings.memoryLimit2.2、lodFactor2.3 additionalCacheMemory 3、结论 1、综述 先上重点,SceneView.qualitySettings为隐藏对象参数,该对象的memoryLimit和lodFactor等值,…...
QML自定义数值编辑框SpinBox样式
代码展示 import QtQuick 2.9 import QtQuick.Window 2.2 import QtQuick.Controls 2.1Window {visible: truewidth: 640height: 480title: qsTr("Hello World")SpinBox {id: controlvalue: 50editable: truecontentItem: TextInput {z: 2text: control.textFromVal…...
【数据可视化-10】国防科技大学录取分数线可视化分析
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
深入探索:将 Elasticsearch 与 Ruby 工具结合使用
深入探索:将 Elasticsearch 与 Ruby 工具结合使用 一、背景介绍 1. Elasticsearch 与 Ruby 的结合背景 在现代软件开发中,Elasticsearch 作为一个基于 Lucene 的搜索引擎,以其分布式、可扩展、实时搜索等特点而广受欢迎。Ruby,…...
Istio 补充 Kubernetes 的不足
1 Istio 补充 Kubernetes 的不足 Kubernetes 强大但无法解决复杂分布式系统中的非功能性需求,如流量路由、协议转换、请求重试和负载均衡。Istio作为Service Mesh,通过独立的代理进程处理这些需求,避免直接修改业务代码。 2. 独立的代理进程…...
远程主机执行脚本1、无脚本内容外协。
使用 ssh rootyour_host bash -c "source <(cat)" < your_scripts.sh 或类似的命令来远程执行脚本,而不让脚本内容外泄或不让其他人看到脚本信息的原因通常是为了安全性和隐私保护。以下是几种考虑: 安全性:通过直接将脚本内…...
Jmeter进阶篇(32)Jmeter 在 MySQL 数据库压测中的应用
一、引言 在当今数字化时代,数据库性能的优化对于企业的发展至关重要。随着业务量的不断增长,数据库需要承受越来越大的压力。MySQL作为一种广泛使用的开源数据库,其性能和稳定性备受关注。为了确保数据库在高负载情况下能够正常运行,进行压测是必不可少的环节。Jmeter作为…...
Python脚本实现通过Vector VN1630A CAN盒子与ECU通信
1 安装 python-can 包 安装命令如下: pip install python-can安装完成后可用下面命令查看是否安装成功及版本。 pip show python-canName: python-can Version: 4.4.2 Summary: Controller Area Network interface module for Python Home-page: https://github.…...
Spring实现Logback日志模板设置动态参数
版权说明: 本文由博主keep丶原创,转载请保留此块内容在文首。 原文地址: https://blog.csdn.net/qq_38688267/article/details/144842327 文章目录 背景设计日志格式实现配置动态取值logback-spring.xml 相关博客 背景 多个单体服务间存在少量…...
内部类 --- (寄生的哲学)
内部类总共有 4 种(静态内部类、非静态内部类、局部内部类、匿名内部类) 作用: 一:内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。 二:内部类可以…...
Python深度学习GRU、LSTM 、BiLSTM-CNN神经网络空气质量指数AQI时间序列预测及机器学习分析|数据分享...
全文链接:https://tecdat.cn/?p38742 分析师:Zhixiong Weng 人们每时每刻都离不开氧,并通过吸入空气而获得氧。一个成年人每天需要吸入空气达6500升以获得足够的氧气,因此,被污染了的空气对人体健康有直接的影响&…...
JSP基础
一、Tomcat 1.Tomcat简介: Tomcat是一个免费的开源JSP容器,是Apache的Jakarta项目中的一个核心项目因免费、稳定而成为目前比较流行的Web应用服务器网址:https://tomcat.apache.org/ 2.Tomcat的配置——环境变量 (1)…...
基于Springboot +Vue 在线考试管理系统
基于Springboot Vue 在线考试管理系统 前言 随着信息技术的飞速发展,教育领域正经历着深刻的变革。传统的考试模式因其诸多限制和不便,已难以满足现代教育的需求。基于SpringBoot和Vue框架开发的在线考试系统应运而生,它充分利用了现代互联…...
Node.js 函数
Node.js 函数 1. 概述 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它允许开发者使用 JavaScript 编写服务器端和网络应用程序。在 Node.js 中,函数是一等公民,意味着它们可以作为变量传递,可以作为参数传递给其他函数,也可以从其他函数返回。本文将详细…...
JVM学习指南(9)-JVM运行时数据区
JVM学习指南(9)-JVM运行时数据区 引言 Java虚拟机(JVM)是Java程序运行的核心,它为Java程序提供了一个与平台无关的执行环境。JVM的重要性不仅在于它实现了Java的跨平台特性,还在于它对程序执行过程中内存的管理。JVM运行时数据区是程序执行过程中存储数据的关键区域,理解…...
2025/1/4期末复习 密码学 按老师指点大纲复习
我们都要坚信,道路越是曲折,前途越是光明。 --------------------------------------------------------------------------------------------------------------------------------- 现代密码学 第五版 杨波 第一章 引言 1.1三大主动攻击 1.中断…...
关于嵌入式系统的知识课堂(二)
成长路上不孤单😊😊😊😊😊😊 【14后😊///计算机爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于嵌入式系统的知识课堂(…...
基于ETAS工具的AutoConnect实现方案
文章目录 前言基于ISOLAR工具实现AutoConnect基于脚本实现AutoConnect总结前言 Autosar软件架构设计中,Connect通常来自于Composition之间(Assembly connectors),Component之间(Assembly connectors),Component与Composition之间(Delegation connectors),还有一种Pa…...
BGP基础配置实验
一、实验拓补 二、实验要求及分析 实验要求: 1,R1为AS 100区域;R2、R3、R4为AS 200区域且属于OSPF协议;R5为AS 300区域; 2,每个设备上都有环回,且通过环回可以使设备互通; 实验分…...
基于单片机的人体健康指标采集系统设计
1.系统的功能及方案设计 根据系统设计要求,人体健康指标采集系统的系统结构框图如图2.1所示。系统以单片机作为主控核心,协调控制各个模块进行工作。在传感器检测模块中包括MAX30102心率血氧检测模块、体温检测模块、液晶显示模块。系统以无创的形式实现…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
