@@ -254,32 +254,6 @@ export class CoreTextureManager {
254254 }
255255 }
256256
257- /**
258- * Remove a `Texture` from the texture cache
259- *
260- * @param texture
261- */
262- removeTexture ( texture : Texture ) : void {
263- const { textureRefCountMap } = this ;
264-
265- if ( textureRefCountMap . has ( texture ) ) {
266- const refCountObj = textureRefCountMap . get ( texture ) ;
267- assertTruthy ( refCountObj ) ;
268- refCountObj . count -- ;
269- if ( refCountObj . count === 0 ) {
270- textureRefCountMap . delete ( texture ) ;
271- // If the texture is not referenced anywhere else, remove it from the key cache
272- // as well.
273- // This should allow the `Texture` instance to be garbage collected.
274- if ( refCountObj . cacheKey ) {
275- this . textureKeyCache . delete ( refCountObj . cacheKey ) ;
276- }
277- }
278- }
279- // Free the ctx texture if it exists.
280- this . ctxTextureCache . get ( texture ) ?. free ( ) ;
281- }
282-
283257 /**
284258 * Remove a `Texture` from the texture cache by its texture desc ID
285259 *
@@ -292,40 +266,31 @@ export class CoreTextureManager {
292266 * @param textureDescId
293267 */
294268 removeTextureIdFromCache ( textureDescId : number ) : void {
295- const { textureIdCache } = this ;
269+ const { textureIdCache, textureRefCountMap } = this ;
296270 const texture = textureIdCache . get ( textureDescId ) ;
297271 if ( ! texture ) {
298272 // Sometimes a texture is removed from the cache before it ever gets
299273 // added to the cache. This is fine and not an error.
300274 return ;
301275 }
302276 textureIdCache . delete ( textureDescId ) ;
303-
304- // remove the texture
305- this . removeTexture ( texture ) ;
306- }
307-
308- /**
309- * Remove a `Texture` from the texture cache by its cache key
310- *
311- * @remarks
312- * Same as removeTextureIdFromCache, but then by cache key.
313- *
314- * @param cacheKey
315- */
316- removeTextureCacheKeyFromCache ( cacheKey : string ) : void {
317- const { textureKeyCache } = this ;
318- const texture = this . textureKeyCache . get ( cacheKey ) ;
319- if ( ! texture ) {
320- // Sometimes a texture is removed from the cache before it ever gets
321- // added to the cache. This is fine and not an error.
322- return ;
277+ if ( textureRefCountMap . has ( texture ) ) {
278+ const refCountObj = textureRefCountMap . get ( texture ) ;
279+ assertTruthy ( refCountObj ) ;
280+ refCountObj . count -- ;
281+ if ( refCountObj . count === 0 ) {
282+ textureRefCountMap . delete ( texture ) ;
283+ // If the texture is not referenced anywhere else, remove it from the key cache
284+ // as well.
285+ // This should allow the `Texture` instance to be garbage collected.
286+ if ( refCountObj . cacheKey ) {
287+ this . textureKeyCache . delete ( refCountObj . cacheKey ) ;
288+ }
289+ }
323290 }
324291
325- textureKeyCache . delete ( cacheKey ) ;
326-
327- // remove the texture
328- this . removeTexture ( texture ) ;
292+ // Free the ctx texture if it exists.
293+ this . ctxTextureCache . get ( texture ) ?. free ( ) ;
329294 }
330295
331296 /**
0 commit comments