//// prefetchTest.js// scripts/developer/tests/scriptableResource //// Created by Zach Pomerantz on 4/27/16.// Copyright 2016 High Fidelity, Inc.//// Preloads textures and unloads them.//// Distributed under the Apache License, Version 2.0.// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html//Script.include([ '../../../developer/utilities/cache/cacheStats.js', 'lib.js',], function() { prefetch(function(frames) { // Delete each texture, so the next garbage collection cycle will release them. // Setting frames = null breaks the reference, // but will not delete frames from the calling scope. // Instead, we must mutate it in-place to free its elements for GC // (assuming the elements are not held elsewhere). while (frames.length) { frames.pop(); } // Alternatively, forcibly release each texture without relying on GC. // frames.forEach(function(texture) { texture.release(); }); Script.requestGarbageCollection(); });});
//
// prefetchTest.js
// scripts/developer/tests/scriptableResource
//
// Created by Zach Pomerantz on 4/27/16.
// Copyright 2016 High Fidelity, Inc.
//
// Preloads textures and unloads them.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
Script.include([
'../../../developer/utilities/cache/cacheStats.js',
'lib.js',
], function() {
prefetch(function(frames) {
// Delete each texture, so the next garbage collection cycle will release them.
// Setting frames = null breaks the reference,
// but will not delete frames from the calling scope.
// Instead, we must mutate it in-place to free its elements for GC
// (assuming the elements are not held elsewhere).
while (frames.length) { frames.pop(); }
// Alternatively, forcibly release each texture without relying on GC.
// frames.forEach(function(texture) { texture.release(); });
Script.requestGarbageCollection();
});
});