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

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的研究后,目前有可见效果的参数有以下几个:

  1. memoryLimit:设置当前可见区域内的最大加载内存
  2. lodFactor:设置当前场景中模型的lod级别
  3. additionalCacheMemory:设置缓存本地的内存大小。
    下面分别介绍这几个参数。

2.1、sceneview.qualitySettings.memoryLimit

我们知道SceneView场景中qualityProfile参数设置为high, medium 和low的时候,其对应的memoryLimit的值是不一样的,如下:
在这里插入图片描述
这个memoryLimit其实就是限制了当前可见区域的数据加载的对大值,例如,当讲sceneview.qualitySettings.memoryLimit值设置为50MB的时候,出现如下情况。

  1. 模型再拖动的时候出现缺块问题。
  2. 后台报内存溢出。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这个缺块就是因为当前可见区域内存太小,导致加载其他数据时会先删除之前加载的缓存,再去加载新的,删除的时候就会导致缺块问题。

因此当遇到后台报内存错误问题,或者页面在加载的时候出现缺块问题,可以通过调整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、结论

  1. 当模型数据比较大的时候,模型加载出现缺块问题,可通过修改memoryLimit值进行测试。但是大小不能太大,需要考虑浏览器的压力。
  2. 当场景在不同情况下对模型的精度要求很严格的时候,或者需要降低模型质量去提升加载效率的时候,可通过修改lodFactor。
  3. 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等值,…...

内训宝企业培训平台 upload/scorm 文件上传致RCE漏洞复现

0x01 产品简介 内训宝企业培训平台是一款专注于企业内部培训的在线平台,由北京内训宝科技有限公司开发并提供服务。旨在为企业提供全方位、个性化的内部培训解决方案。通过该平台,企业可以轻松地组织和管理内部培训活动,提升员工的专业技能和综合素质,进而增强企业的竞争力…...

js按日期按数量进行倒序排序,然后再新增一个字段,给这个字段赋值 10 到1

效果如下图: 实现思路: 汇总数据:使用 reduce 方法遍历原始数据数组,将相同日期的数据进行合并,并计算每个日期的总和。创建日期映射:创建一个映射 dateMap,存储每个日期的对象列表。排序并添加…...

[2025] 如何在 Windows 计算机上轻松越狱 IOS 设备

笔记 1. 首次启动越狱工具时,会提示您安装驱动程序。单击“是”确认安装,然后再次运行越狱工具。 2. 对于Apple 6s-7P和iPad系列(iOS14.4及以上),您应该点击“Optinos”并勾选“允许未经测试的iOS/iPadOS/tvOS版本”&…...

修改表字段属性,SQL总结

MYSQl varchar转为mediumtext ALTER TABLE table_name MODIFY COLUMN column_name mediumtext; ALTER TABLE table_name MODIFY COLUMN column_name varchar(255) 1. 修改字段的数据类型 使用 MODIFY COLUMN 可以改变字段的数据类型、长度、默认值或注释,但不会更…...

艾体宝产品丨加速开发:Redis 首款 VS Code 扩展上线!

Redis 宣布推出其首款专为 VS Code 设计的 Redis 扩展。这一扩展将 Redis 功能直接整合进您的集成开发环境(IDE),旨在简化您的工作流程,提升工作效率。 我们一直致力于构建强大的开发者生态系统,并在您工作的每一步提…...

PHP 中的魔术常量

概述 PHP提供了9个魔术常数,您可以在PHP应用程序代码中使用。它们是“神奇的”,因为它们是在编译时定义的,不像常规常量(您可以自己定义)是在运行时定义的。这意味着它们的值可以根据它们在代码中的使用位置而更改。 …...

培训机构Day20

今天还是讲一些基本的js知识点。 知识点: html css :框架结构 样式修饰 javascript:行为交互,动态效果。有逻辑的语言。动态脚本语言。无需编译,解释执行。 寄生在网页上执行。浏览器内核自带js解释器。 js引入三…...

Day62 图论part11

Floyd 算法精讲 Floyd 算法代码很简单,但真正理解起原理 还是需要花点功夫,大家在看代码的时候,会发现 Floyd 的代码很简单,甚至看一眼就背下来了,但我为了讲清楚原理,本篇还是花了大篇幅来讲解。 代码随想…...

【Golang 面试题】每日 3 题(十三)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…...

云手机+Facebook:让科技与娱乐完美结合

移动互联网时代,Facebook作为全球最大的社交媒体平台之一,早已成为企业、品牌和组织竞相角逐的营销阵地。而云手机的出现,则为Facebook营销注入了新的活力,其独特的优势让营销活动更加高效、精准且灵活。本文将深入探讨云手机在Fa…...

2024年总结与展望

23年底的时候,和一大批同事一起转到刚成立的合资公司,当时大家都以为会是好的归宿,毕竟外资文化,投了这么多钱,起码两三年内应该是稳定、不内卷的,似乎可以安心工作,安心生活。2024的开头确实挺…...

标准流,浮动,Flex布局

三个 div 盒子在一一行显示,但是 div 标签默认是独占一行的 想要实现块级盒子在一行,两种方法,浮动和 Flex 布局 浮动之后的盒子:顶对齐,行内块显示特点(宽高显示) 浮动的盒子会脱标&#xff0c…...

2 、什么是Java中的不可变类

在Java中,不可变类(Immutable Class)是指一类其对象一旦创建后,就不能更改其状态(即对象的字段值不能被修改)的类。不可变类提供了一种安全的方式来管理对象,尤其是在并发编程中,能够…...

网络安全技能试题总结参考

对网络安全技能测试相关的试题进行了总结,供大家参考。 一、单选题 1.(单选题)以下属于汇聚层功能的是 A.拥有大量的接口,用于与最终用户计算机相连 B.接入安全控制 C.高速的包交换 D.复杂的路由策略 答案:D 2.(单选题)VLAN划分的方法,选择一个错误选项 A.基于端口…...

基于Python的社交音乐分享平台

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...

CP AUTOSAR标准之FlexRayDriver(AUTOSAR_SWS_FlexRayDriver)(更新中……)

1 简介和功能概述 FlexRay驱动程序(Fr)抽象了特定FlexRay通信控制器(CC)的硬件相关实现细节。本规范主要依赖于符合FlexRay规范[13]的FlexRay CC。此外,本规范还支持符合FlexRay规范[14]的旧版FlexRay控制器。本SWS中因支持的FlexRay规范不同而导致的不同行为在适用的情况下以…...

AIDD -人工智能药物设计- DrugChat:多模态大语言模型实现药物机制与属性的全方位预测

DrugChat:多模态大语言模型实现药物机制与属性的全方位预测 今天为大家介绍的是来自加州大学圣地亚哥分校谢澎涛团队的一篇论文。准确预测潜在药物分子的作用机制和性质对于推进药物发现至关重要。然而,传统方法通常需要为每个特定的预测任务开发专门的…...

CP AUTOSAR标准之FlexRayInterface(AUTOSAR_SWS_FlexRayInterface)(更新中……)

1 简介和功能概述 该规范指定了AUTOSAR基础软件模块“FlexRay接口”的功能、API和配置。   在AUTOSAR分层软件架构中,FlexRay接口属于ECU抽象层,或者更准确地说,属于通信硬件抽象。这表明了FlexRay接口的主要任务:   为上层提供FlexRay通信系统的抽象接口。至少就数据传…...

【Linux-多线程】线程互斥(锁和它的接口等)

一、线程互斥 我们把多个线程能够看到的资源叫做共享资源,我们对共享资源进行保护,就是互斥 1.多线程访问问题 【示例】见一见多线程访问问题,下面是一个抢票的代码,共计票数10000张,4个线程去抢 之前我们展示过封…...

当一个服务拆成两个服务的错误

1.老路由信息没有修改,导致一直404...

单元测试入门和mockup

Java 新手入门:Java单元测试利器,Mock详解_java mock-CSDN博客 这个是典型的before when assert三段式,学一下单测思路 这个没有动态代理,所以是直接class(对比下面) Jmockit使用笔记_增加代码覆盖率_覆盖try catch_使用new Mock…...

Android Room 框架的初步使用

一、简介 Room 是一个强大的对象关系映射库,它允许你将 SQLite 数据库中的表映射到 Java 或 Kotlin 的对象(称为实体)上。你可以使用简单的注解(如 Entity、Dao 和 Database)来定义数据库表、数据访问对象&#xff08…...

后盼2024,前顾2025

年年花落又花开,后顾2024,前盼2025~~ 2024年,继续前进,稳扎稳打。 生活 组织并陪伴家人去了理县、成都等地游玩,nice。 出差和旅行去了杭州、西安、成都、江门、珠海等地,嘻嘻。 爱人如养花&#xff0c…...

电子电器架构 ---什么是智能电动汽车上的逆变器?

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…...

Android ActionBar 技术深度解析

Android ActionBar 技术深度解析 概述 ActionBar 是 Android 应用中的一个核心 UI 组件,用于提供导航、操作和品牌展示。它通常位于应用窗口的顶部,包含应用的标题、导航按钮、操作项等。ActionBar 自 Android 3.0(API 11)引入,并在 Android 5.0(API 21)后被 Toolbar …...

如何在 Ubuntu 22.04 上部署 Nginx 并优化以应对高流量网站教程

简介 本教程将教你如何优化 Nginx,使其能够高效地处理高流量网站。 Nginx 是一个强大且高性能的 Web 服务器,以其高效处理大量并发连接的能力而闻名,这使得它成为高流量网站的流行选择。 正确优化 Nginx 可以显著提高服务器的性能&#xff0…...

建立一个Macos载入image的实例含界面

前言 为了方便ios程序的开发,有时候需要先用的Macos平台进行一些功能性的程序开发。 作为对比和参考。 1、创建一个MacOS的App 2、主界面控件的增加 添加的控件方法与ios相同,也是再用commandshiftL(CtrlShiftL),就会弹出控件…...

qt5.15.2+visual studio2022 免安装版环境配置

1.环境准备 visual studio2022qt5.15.2(免安装版本) 2.环境配置 2.1 打开首选项 2.2 添加Qt版本 2.3 构建套件手动添加Qt 5.15.2(msvc2019_64)并配置如下 3.新建项目 问题1:qt creator 没有欢迎界面 解决办法&#…...

鱼眼相机模型与去畸变实现

1.坐标系说明 鱼眼相机模型涉及到世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换关系。对于分析鱼眼相机模型,假定世界坐标系下的坐标点,经过外参矩阵的变换转到相机坐标系,相机坐标再经过内参转换到像素坐标,具体如下 进一步进…...

【视觉SLAM:六、视觉里程计Ⅰ:特征点法】

视觉里程计(Visual Odometry, VO)是通过处理图像序列,估计摄像头在时间上的相对位姿变化的技术。它是视觉SLAM的重要组成部分之一,主要通过提取图像中的信息(如特征点或直接像素强度)来实现相机运动估计。以…...

SQLiteDataBase数据库

XML界面设计 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_paren…...

正则表达式(三剑客之awk)

1.awk工具的使用 1.1 截取文档中的某个段 1&#xff09;打印以 : 为分隔的第一个字段 [rootlocalhost ~]# head -n3 /etc/passwd | awk -F : {print $1} 2&#xff09;注意事项 -F&#xff1a;作用是指定分隔符。如果不加分隔符&#xff0c;则以空格或者tab为分隔符 print&…...

Python世界:人生苦短,我用Python

Python世界&#xff1a;人生苦短&#xff0c;我用Python 前言Python优势Python缺点 前言 几句话说清&#xff0c;我们为啥要用Python&#xff1f; Python设计之初心&#xff0c;是为了解决编程门槛&#xff0c;让大家更聚焦业务实现&#xff0c;而非编程细节。当前人工智能火…...

DevOps流程CICD之Jenkins使用操作

一、jenkins的docker-compose安装部署 请参考 jenkins的docker安装部署配置全网最详细教程-CSDN博客 二、创建repository 三、创建ssh 四、创建视图 五、创建任务 六、配置gitlab钩子 七、自动构建部署CI/CD验证...

Day60 图论part10

今天大家会感受到 Bellman_ford 算法系列在不同场景下的应用。 建议依然是:一刷的时候,能理解 原理,知道Bellman_ford 解决不同场景的问题 ,照着代码随想录能抄下来代码就好,就算达标。 二刷的时候自己尝试独立去写,三刷的时候 才能有一定深度理解各个最短路算法。 Bell…...

「Mac畅玩鸿蒙与硬件50」UI互动应用篇27 - 水果掉落小游戏

本篇教程将带你实现一个水果掉落小游戏&#xff0c;掌握基本的动态交互逻辑和鸿蒙组件的使用&#xff0c;进一步了解事件处理与状态管理。 关键词 UI互动应用水果掉落状态管理动态交互游戏开发 一、功能说明 水果掉落小游戏包含以下交互功能&#xff1a; 随机生成水果&#…...

Java [后端] 开发日常记录(1)

目录 1、常用的注解 2、对字符串的处理 3、对JSON串的处理 -- The End -- 详细如下&#xff1a; 1、常用的注解 若返回的字段中有NUll&#xff0c;则不返回 JsonInclude(value JsonInclude.Include.NON_NULL) //在实体类中添加这个注解 JsonInclude(JsonInclude.Include.NON…...

【Spring】Spring DI(依赖注入)详解——自动装配——手动装配与自动装配的区别

在spring开发中&#xff0c;依赖注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;是实现松耦合和高内聚设计的重要模式。它使得对象的创建和管理与其依赖关系分离&#xff0c;从而提高了代码的可维护性、可测试性和灵活性。Spring框架通过IoC&#xff08;控制反…...

科普时刻 | 3D-IC设计:芯片集成的创新方法

技术的进步推动了日益复杂和密集的集成电路&#xff08;IC&#xff09;不断发展。为了满足对高性能和节能设备不断增长的需求&#xff0c;行业已转向3D-IC设计。3D-IC在消费类电子产品、电信、计算和汽车等众多行业都有广泛的应用。 什么是3D-IC技术&#xff1f; 3D-IC技术是…...

自研国产零依赖前端UI框架实战009 数组相关方法和新增修改功能实现

前言 我们已经实现了用户管理相关的页面,为此也封装了很多的组件. 按照原本的计划, 我们还要封装一些常用的操作数组的方法. 将元素插入数组的任意位置 // 将元素插入数组的指定位置 const insert (arr, // 数组element, // 元素index, // 指定索引 ) > {if (index &l…...

DBeaver连接OceanBase数据库

OceanBase分Oracle租户模式和mysql租户模式&#xff0c;一般企业常用的是Oracle住户模式&#xff0c;下面介绍下DBeaver连接OceanBase Oracle租户模式下的数据库 DBeaver 标签栏 - 数据库 - 驱动管理器 新建 OB 驱动 填写如下参数 一般拿到的ob连接信息如下 Oceanbase数据库 服…...

活动预告 |【Part1】Microsoft Azure 在线技术公开课:基础知识

课程介绍 参加“Azure 在线技术公开课&#xff1a;基础知识”活动&#xff0c;培养有助于创造新的技术可能性的技能并探索基础云概念。参加我们举办的本次免费培训活动&#xff0c;扩充自身的云模型和云服务类型知识。你还可以查看以计算、网络和存储为核心的 Azure 服务。 活…...

傲雷亮相2024中国时尚体育季(珠海站),展现户外移动照明风采

2024年12月28-29日&#xff0c;2024中国时尚体育季&#xff08;珠海站&#xff09;国家级轮滑比赛在珠海金山体育公园成功举办。作为户外创新型移动照明领域的领导品牌&#xff0c;傲雷受邀参加了本次珠海金湾运动生活嘉年华的展览单元&#xff0c;与众多户外运动品牌同台展示。…...

LangChain4j与Elasticsearch:构建高效的语义嵌入存储

LangChain4j与Elasticsearch&#xff1a;构建高效的语义嵌入存储 一、LangChain4j与Elasticsearch集成概述 1.1 LangChain4j简介 LangChain4j是一个为Java开发者设计的开源库&#xff0c;旨在简化大型语言模型&#xff08;LLM&#xff09;在Java应用程序中的集成。它提供了与…...

IO Virtualization with Virtio.part 1 [十二]

久等了各位&#xff01; 本篇开始讲解 IO 虚拟化中的 virtio&#xff0c;我会以 Linux 的 IIC 驱动为例&#xff0c;从 IIC 驱动的非虚拟化实现&#xff0c;到 IIC 驱动的半虚拟化实现&#xff0c;再到最后 X-Hyper 中如何通过 virtio 来实现前后端联系&#xff0c;一步步把 v…...

单元测试4.0+思路总结

Jmockit使用笔记_增加代码覆盖率_覆盖try catch_使用new MockUp私有方法-CSDN博客 一般使用new MockUp模拟被测试代码中的私有方法(常用&#xff09; 使用new Expetations模拟被测试代码中的方法?...

微信小程序中遇到过的问题

记录微信小程序中遇到的问题&#xff08;持续更新ing&#xff09; 问题描述&#xff1a;1. WXML中无法直接调用JavaScript方法。2. css中无法直接引用背景图片。3. 关于右上角胶囊按钮。4. 数据绑定问题。5. 事件处理问题。6. 关于movable-view组件的问题7. 关于设置宽度后设置…...

气象数据Grib及Python绘图

文章较长&#xff0c;却将所有常见的气象数据类型进行了详细的介绍&#xff0c;对各种方法的优劣势进行了详细分析&#xff0c;相信对于阅读者来说会有一定程度的帮助 目录 GRIB 数据格式简介 使用Python处理Grib文件 法1&#xff1a;使用pygrib库 法2&#xff1a;使用cf…...

Vue el-data-picker选中开始时间,结束时间自动加半小时

效果 思路 查阅elemnet plus官网&#xff0c;日期时间选择器type"datetimerange"这个选中开始时间并没有对应事件会被触发&#xff0c;因此思路更换成type"datetime"的两个组成一起可以通过监听开始时间v-model的值变化更新结束时间的值。 代码 日期时间…...