UNPKG

@itwin/core-frontend

Version:
165 lines • 5.67 kB
/** @packageDocumentation * @module Rendering */ /** APIs for querying memory consumed by the [[RenderSystem]]. * Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage. * @public */ export declare namespace RenderMemory { /** Describes memory consumed by a particular type of resource. * @internal */ class Consumers { totalBytes: number; maxBytes: number; count: number; addConsumer(numBytes: number): void; clear(): void; } /** @internal */ enum BufferType { Surfaces = 0, VisibleEdges = 1, SilhouetteEdges = 2, PolylineEdges = 3, IndexedEdges = 4, Polylines = 5, PointStrings = 6, PointClouds = 7, Instances = 8, Terrain = 9, RealityMesh = 10, COUNT = 11 } /** Describes memory consumed by GPU-allocated buffers. * @internal */ class Buffers extends Consumers { readonly consumers: Consumers[]; constructor(); get surfaces(): Consumers; get visibleEdges(): Consumers; get indexedEdges(): Consumers; get silhouetteEdges(): Consumers; get polylineEdges(): Consumers; get polylines(): Consumers; get pointStrings(): Consumers; get pointClouds(): Consumers; get instances(): Consumers; get terrain(): Consumers; get reality(): Consumers; clear(): void; addBuffer(type: BufferType, numBytes: number): void; } /** @internal */ enum ConsumerType { Textures = 0, VertexTables = 1, EdgeTables = 2, FeatureTables = 3, FeatureOverrides = 4, ClipVolumes = 5, PlanarClassifiers = 6, ShadowMaps = 7, TextureAttachments = 8, ThematicTextures = 9, COUNT = 10 } /** Contains statistics about the amount and type of memory consumed by the [[RenderSystem]]. * Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage. * @see [[Statistics.create]] to instantiate an instance of this class. * @public */ class Statistics { private _totalBytes; /** @internal */ readonly consumers: Consumers[]; /** @internal */ readonly buffers: Buffers; /** Create a new, empty statistics object. */ static create(): Statistics; /** @internal */ constructor(); /** The total reported memory consumption, in bytes. * @note A web browser provides no direct access to actual memory used by the host device or its graphics hardware. The reported memory usage * is an estimate based on the number of bytes of data requested via WebGL APIs. It is always an *under-estimate* as each WebGL implementation imposes * its own additional overhead. */ get totalBytes(): number; /** @internal */ get textures(): Consumers; /** @internal */ get vertexTables(): Consumers; /** @internal */ get edgeTables(): Consumers; /** @internal */ get featureTables(): Consumers; /** @internal */ get thematicTextures(): Consumers; /** @internal */ get featureOverrides(): Consumers; /** @internal */ get clipVolumes(): Consumers; /** @internal */ get planarClassifiers(): Consumers; /** @internal */ get shadowMaps(): Consumers; /** @internal */ get textureAttachments(): Consumers; /** @internal */ addBuffer(type: BufferType, numBytes: number): void; /** @internal */ addConsumer(type: ConsumerType, numBytes: number): void; /** @internal */ clear(): void; /** @internal */ addTexture(numBytes: number): void; /** @internal */ addVertexTable(numBytes: number): void; /** @internal */ addEdgeTable(numBytes: number): void; /** @internal */ addFeatureTable(numBytes: number): void; /** @internal */ addThematicTexture(numBytes: number): void; /** @internal */ addFeatureOverrides(numBytes: number): void; /** @internal */ addContours(numBytes: number): void; /** @internal */ addClipVolume(numBytes: number): void; /** @internal */ addPlanarClassifier(numBytes: number): void; /** @internal */ addShadowMap(numBytes: number): void; /** @internal */ addTextureAttachment(numBytes: number): void; /** @internal */ addSurface(numBytes: number): void; /** @internal */ addVisibleEdges(numBytes: number): void; /** @internal */ addIndexedEdges(numBytes: number): void; /** @internal */ addSilhouetteEdges(numBytes: number): void; /** @internal */ addPolylineEdges(numBytes: number): void; /** @internal */ addPolyline(numBytes: number): void; /** @internal */ addPointString(numBytes: number): void; /** @internal */ addPointCloud(numBytes: number): void; /** @internal */ addTerrain(numBytes: number): void; /** @internal */ addRealityMesh(numBytes: number): void; /** @internal */ addInstances(numBytes: number): void; } /** @internal */ interface Consumer { collectStatistics(stats: Statistics): void; } } //# sourceMappingURL=RenderMemory.d.ts.map