Skip to content

KBE3D / KBCore / layers / TilesetLayerOptimizeOptions

接口: TilesetLayerOptimizeOptions

tileset三维模型图层类常用的三维模型优化选项

属性

maximumScreenSpaceError?

optional maximumScreenSpaceError: number

maximumScreenSpaceError 是一个数字参数,用于指定瓦片在屏幕上显示时可以容忍的最大屏幕空间误差。 maximumScreenSpaceError 决定了瓦片何时需要细化到其子代。当瓦片在屏幕上的投影误差超过这个值时,Cesium 会加载并显示更高分辨率的子代瓦片,以提供更精细的视觉效果。 通过调整 maximumScreenSpaceError 的值,可以在保持一定视觉质量的前提下,减少加载的瓦片数量,从而降低内存和计算资源的使用,提高渲染性能。 CesiumJS 中 maximumScreenSpaceError 的默认值为 16。这个值表示 1 米的几何体在屏幕上投影为 16 个像素时被认为是可接受的误差范围。然而,这个默认值可能并不适用于所有情况,需要根据实际的应用场景进行调整。 如果应用场景对性能有较高要求,可以尝试增大 maximumScreenSpaceError 的值。这将减少加载的瓦片数量,但可能会牺牲一定的视觉质量。如果更注重视觉效果,可以减小 maximumScreenSpaceError 的值。这将加载更多的瓦片以提供更精细的显示效果,但可能会增加加载时间和计算资源的使用。 在实际应用中,需要根据具体需求进行平衡调整。通过多次测试和调整,找到最适合当前应用场景的 maximumScreenSpaceError 值。

备注

该配置的初始默认值为16,在此优化选项中,默认值调整到64


cacheBytes?

optional cacheBytes: number

cacheBytes 是一个可选的数字参数,用于指定缓存的最大额定显存大小(以字节为单位)。这个值代表了Cesium在尝试维持缓存大小时的目标值。 当缓存中的瓦片数据占用的显存超过cacheBytes指定的值时,Cesium会尝试通过卸载一些不再需要的瓦片来减少缓存的大小,以便为新的瓦片腾出空间。 这个参数有助于防止缓存过大而导致的内存溢出问题,同时也能够优化系统的内存使用效率。

备注

该配置的初始默认值为536870912(512MB),在此优化选项中,默认值调整到2147483648(2GB)


maximumCacheOverflowBytes?

optional maximumCacheOverflowBytes: number

maximumCacheOverflowBytes是另一个可选的数字参数,用于指定在缓存超过cacheBytes时允许的最大额外显存大小(以字节为单位)。这个值表示了缓存可以超出额定显存大小的最大范围。 当缓存中的瓦片数据占用的显存超过cacheBytes但仍在cacheBytes + maximumCacheOverflowBytes的范围内时,Cesium仍然会尝试保持这些瓦片在缓存中,以便在需要时能够快速访问它们。 这个参数为缓存提供了一定的灵活性,允许在特定情况下暂时超出额定显存大小,以应对突发性的数据加载需求。 与cacheBytes类似,maximumCacheOverflowBytes的默认值也可能因Cesium版本的不同而有所差异。但一般而言,它会被设置为一个相对较小的值(如几百MB或更小),以确保缓存不会无限制地增长。

备注

该配置的初始默认值为536870912(512MB),在此优化选项中,默认值调整到1073741824(1GB)


cullRequestsWhileMovingMultiplier?

optional cullRequestsWhileMovingMultiplier: number

cullRequestsWhileMovingMultiplier 是一个数字参数,当相机移动时,许多之前请求的瓦片可能会因为相机的快速移动而变得不再可见或重要性降低。为了避免加载这些可能不会被使用的瓦片,Cesium会尝试剔除这些请求。cullRequestsWhileMovingMultiplier参数通过调整剔除请求的乘数来影响剔除的积极性。 这个参数的值越大,剔除请求的积极性就越高,即更多的瓦片请求会被取消。相反,值越小,剔除的积极性就越低,更多的瓦片请求会被保留。 在实际应用中,需要根据具体需求进行平衡调整。较高的值可能会减少内存使用和渲染负载,但可能会牺牲一些场景的细节或增加加载延迟。较低的值可能会保留更多的瓦片请求,从而提供更丰富的场景细节,但可能会增加内存使用和渲染负载。

备注

该配置的初始默认值为60,在此优化选项中,默认值调整到100


skipLevelOfDetail?

optional skipLevelOfDetail: boolean

skipLevelOfDetail 是 CesiumJS 中 Cesium3DTileset 类的一个重要参数,它用于控制是否在遍历 3D 瓦片树时跳过某些详细级别(Level of Detail, LOD)的瓦片 当 skipLevelOfDetail 设置为 true 时,CesiumJS 会在遍历 3D 瓦片树时自动跳过一些不重要的详细级别。这意味着,对于远离相机或位于视野边缘的瓦片,Cesium 可能会选择加载较低分辨率的版本,而不是高分辨率的版本。这样做可以减少需要加载和渲染的瓦片数量,从而降低内存使用和渲染负载。 相反,当 skipLevelOfDetail 设置为 false 时,Cesium 会尝试加载所有可用的详细级别的瓦片,以提供最高的视觉质量。然而,这可能会增加加载时间和渲染负担,特别是对于大规模数据集。 在需要处理大规模 3D 数据集时,如城市模型、地形数据等,skipLevelOfDetail 可以帮助提高性能和响应速度。 当用户对场景的视觉质量要求不是特别高,或者可以接受在一定距离外使用较低分辨率的瓦片时,可以启用 skipLevelOfDetail。 启用 skipLevelOfDetail 可能会影响场景的视觉质量,因为远处的瓦片可能会以较低的分辨率渲染。因此,在需要高精度视觉效果的场景中,可能需要谨慎使用。 skipLevelOfDetail 可以与其他参数(如 baseScreenSpaceError、skipScreenSpaceErrorFactor、immediatelyLoadDesiredLevelOfDetail 和 skipLevels)结合使用,以更精细地控制瓦片的加载和渲染行为。

备注

该配置的初始默认值为false,在此优化选项中,默认值调整到true


immediatelyLoadDesiredLevelOfDetail?

optional immediatelyLoadDesiredLevelOfDetail: boolean

当 skipLevelOfDetail 参数为 true 时,Cesium 会在遍历 3D 瓦片树时跳过一些不重要的瓦片,以提高加载速度和性能。然而,这个跳过过程可能会受到多个因素的影响,如 skipScreenSpaceErrorFactor 和 skipLevels 等。 immediatelyLoadDesiredLevelOfDetail 参数则提供了一种更直接的方式来控制加载行为。如果将其设置为 true,Cesium 会忽略这些跳过因素,只加载满足最大屏幕空间误差(maximumScreenSpaceError)的瓦片。这意味着,在相机视角下最重要的瓦片会被优先加载,而不管它们是否位于跳过的详细级别内。 当你需要确保相机视角下最重要的瓦片能够立即加载时,可以将 immediatelyLoadDesiredLevelOfDetail 设置为 true。这对于需要快速响应用户操作或提供流畅视觉体验的应用场景特别有用。然而,需要注意的是,将这个参数设置为 true 可能会导致加载更多的瓦片,从而增加内存使用和渲染负载。因此,在资源受限或性能敏感的应用场景中,需要谨慎使用。

备注

该配置的初始默认值为false,在此优化选项中,默认值调整到true


progressiveResolutionHeightFraction?

optional progressiveResolutionHeightFraction: number

progressiveResolutionHeightFraction 是一个介于 0 和 1 之间的浮点数,主要用于控制瓦片集在初始加载时的分辨率,以实现从低分辨率到高分辨率的渐进式加载,从而提升用户体验 该参数影响瓦片集在初始加载时的分辨率。当设置为较小的值时,初始加载的瓦片将以较低的分辨率显示,使得加载速度更快,但视觉效果较模糊。随着用户的进一步交互(如缩放、平移等),瓦片的分辨率会逐渐提高,直到达到最高分辨率。 如果你的应用场景对初始加载速度有较高要求,可以尝试将 progressiveResolutionHeightFraction 设置为一个较小的值(如 0.1 或 0.2),以加快初始加载速度。 如果你的用户更注重视觉效果,并且不介意稍微长一些的加载时间,可以将该参数设置为一个较大的值(接近 1),以获得更清晰的初始显示效果。

备注

该配置的初始默认值为0.3,在此优化选项中,默认值调整到0.1

KBE3D @3.0.0 Copyright © 2024-present KBE3D