@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.06 kB
JavaScript
import{ByteSizeUnit as e}from"../../../core/byteSizeEstimations.js";import{isSome as r}from"../../../core/maybe.js";import{isMemoryManagedLayerView as o}from"../layers/support/MemoryManagedLayerView.js";import t from"./LayerPerformanceInfo.js";import{isSurfaceLayerView as s}from"../terrain/terrainUtils.js";class a{constructor(a){if(this.totalMemory=0,this.usedMemory=0,this.quality=1,this.load=0,this.terrainMemory=0,this.edgesMemory=0,this.layerPerformanceInfos=new Array,r(a.resourceController)){const r=a.resourceController.memoryController;this.totalMemory=(r.maxMemory??0)*e.MEGABYTES,this.usedMemory=Math.round(r.usedMemory*this.totalMemory),this.quality=r.memoryFactor,this.load=a.resourceController.scheduler.load}this.terrainMemory=a.basemapTerrain?.getUsedMemory()??0;const m=a._stage&&a._stage.renderView&&a._stage.renderer.edgeView;this.edgesMemory=r(m)?m.usedMemory:0,a.allLayerViews.items.forEach((e=>{(o(e)||s(e))&&this.layerPerformanceInfos.push(new t(e,a))})),this.layerPerformanceInfos.sort(((e,r)=>r.memory-e.memory))}}export{a as default};