pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
1 lines • 8.25 kB
Source Map (JSON)
{"version":3,"file":"TextureGCSystem.mjs","sources":["../../../../../src/rendering/renderers/shared/texture/TextureGCSystem.ts"],"sourcesContent":["import { ExtensionType } from '../../../../extensions/Extensions';\nimport { deprecation } from '../../../../utils/logging/deprecation';\nimport { type Renderer } from '../../types';\n\nimport type { System } from '../system/System';\n\n/**\n * Options for the {@link TextureGCSystem}.\n * @category rendering\n * @advanced\n * @deprecated since 8.15.0\n * @see {@link GCSystem}\n */\nexport interface TextureGCSystemOptions\n{\n /**\n * If set to true, this will enable the garbage collector on the GPU.\n * @default true\n * @deprecated since 8.15.0\n */\n textureGCActive: boolean;\n /**\n * @deprecated since 8.3.0\n * @see {@link TextureGCSystemOptions.textureGCMaxIdle}\n */\n textureGCAMaxIdle: number;\n /**\n * The maximum idle frames before a texture is destroyed by garbage collection.\n * @default 60 * 60\n * @deprecated since 8.15.0\n */\n textureGCMaxIdle: number;\n /**\n * Frames between two garbage collections.\n * @default 600\n * @deprecated since 8.15.0\n */\n textureGCCheckCountMax: number;\n}\n/**\n * System plugin to the renderer to manage texture garbage collection on the GPU,\n * ensuring that it does not get clogged up with textures that are no longer being used.\n * @category rendering\n * @advanced\n * @deprecated since 8.15.0\n * @see {@link GCSystem}\n */\nexport class TextureGCSystem implements System<TextureGCSystemOptions>\n{\n /** @ignore */\n public static extension = {\n type: [\n ExtensionType.WebGLSystem,\n ExtensionType.WebGPUSystem,\n ],\n name: 'textureGC',\n } as const;\n\n /**\n * Default options for the TextureGCSystem\n * @deprecated since 8.15.0\n */\n public static defaultOptions: TextureGCSystemOptions = {\n /**\n * If set to true, this will enable the garbage collector on the GPU.\n * @default true\n */\n textureGCActive: true,\n /**\n * @deprecated since 8.3.0\n * @see {@link TextureGCSystemOptions.textureGCMaxIdle}\n */\n textureGCAMaxIdle: null,\n /**\n * The maximum idle frames before a texture is destroyed by garbage collection.\n * @default 60 * 60\n */\n textureGCMaxIdle: 60 * 60,\n /**\n * Frames between two garbage collections.\n * @default 600\n */\n textureGCCheckCountMax: 600,\n };\n\n /**\n * Frame count since started.\n * @readonly\n * @deprecated since 8.15.0\n */\n public get count() { return this._renderer.tick; }\n\n /**\n * Frame count since last garbage collection.\n * @readonly\n * @deprecated since 8.15.0\n */\n public get checkCount() { return this._checkCount; }\n public set checkCount(value: number)\n {\n // #if _DEBUG\n deprecation('8.15.0', 'TextureGCSystem.run is deprecated, please use the GCSystem instead.');\n // #endif\n this._checkCount = value;\n }\n private _checkCount: number;\n\n /**\n * Maximum idle frames before a texture is destroyed by garbage collection.\n * @see TextureGCSystem.defaultMaxIdle\n * @deprecated since 8.15.0\n */\n public get maxIdle() { return (this._renderer.gc.maxUnusedTime / 1000) * 60; }\n public set maxIdle(value: number)\n {\n // #if _DEBUG\n deprecation('8.15.0', 'TextureGCSystem.run is deprecated, please use the GCSystem instead.');\n // #endif\n this._renderer.gc.maxUnusedTime = (value / 60) * 1000;\n }\n\n /**\n * Frames between two garbage collections.\n * @see TextureGCSystem.defaultCheckCountMax\n * @deprecated since 8.15.0\n */\n // eslint-disable-next-line dot-notation\n public get checkCountMax() { return Math.floor(this._renderer.gc['_frequency'] / 1000); }\n public set checkCountMax(_value: number)\n {\n // #if _DEBUG\n deprecation('8.15.0', 'TextureGCSystem.run is deprecated, please use the GCSystem instead.');\n // #endif\n }\n\n /**\n * Current garbage collection mode.\n * @see TextureGCSystem.defaultMode\n * @deprecated since 8.15.0\n */\n public get active() { return this._renderer.gc.enabled; }\n public set active(value: boolean)\n {\n // #if _DEBUG\n deprecation('8.15.0', 'TextureGCSystem.run is deprecated, please use the GCSystem instead.');\n // #endif\n this._renderer.gc.enabled = value;\n }\n\n private _renderer: Renderer;\n\n /** @param renderer - The renderer this System works for. */\n constructor(renderer: Renderer)\n {\n this._renderer = renderer;\n this._checkCount = 0;\n }\n\n public init(options: TextureGCSystemOptions): void\n {\n if (options.textureGCActive !== TextureGCSystem.defaultOptions.textureGCActive)\n { this.active = options.textureGCActive; }\n if (options.textureGCMaxIdle !== TextureGCSystem.defaultOptions.textureGCMaxIdle)\n { this.maxIdle = options.textureGCMaxIdle; }\n if (options.textureGCCheckCountMax !== TextureGCSystem.defaultOptions.textureGCCheckCountMax)\n { this.checkCountMax = options.textureGCCheckCountMax; }\n }\n\n /**\n * Checks to see when the last time a texture was used.\n * If the texture has not been used for a specified amount of time, it will be removed from the GPU.\n * @deprecated since 8.15.0\n */\n public run(): void\n {\n // #if _DEBUG\n deprecation('8.15.0', 'TextureGCSystem.run is deprecated, please use the GCSystem instead.');\n // #endif\n this._renderer.gc.run();\n }\n\n public destroy(): void\n {\n this._renderer = null as any as Renderer;\n }\n}\n"],"names":[],"mappings":"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"}