@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
33 lines • 1.42 kB
JavaScript
/** @internal */
export class PerformanceConfigurator {
/**
* @internal
*/
static SetMatrixPrecision(use64bits) {
PerformanceConfigurator.MatrixTrackPrecisionChange = false;
if (use64bits && !PerformanceConfigurator.MatrixUse64Bits) {
if (PerformanceConfigurator.MatrixTrackedMatrices) {
for (let m = 0; m < PerformanceConfigurator.MatrixTrackedMatrices.length; ++m) {
const matrix = PerformanceConfigurator.MatrixTrackedMatrices[m];
const values = matrix._m;
matrix._m = new Array(16);
for (let i = 0; i < 16; ++i) {
matrix._m[i] = values[i];
}
}
}
}
PerformanceConfigurator.MatrixUse64Bits = use64bits;
PerformanceConfigurator.MatrixCurrentType = PerformanceConfigurator.MatrixUse64Bits ? Array : Float32Array;
PerformanceConfigurator.MatrixTrackedMatrices = null; // reclaim some memory, as we don't need _TrackedMatrices anymore
}
}
/** @internal */
PerformanceConfigurator.MatrixUse64Bits = false;
/** @internal */
PerformanceConfigurator.MatrixTrackPrecisionChange = true;
/** @internal */
PerformanceConfigurator.MatrixCurrentType = Float32Array;
/** @internal */
PerformanceConfigurator.MatrixTrackedMatrices = [];
//# sourceMappingURL=performanceConfigurator.js.map