Предотвращение освобождения javascript массивов для сборщика мусора - PullRequest
0 голосов
/ 05 февраля 2019

При создании массивов в javascript и последующем удалении всех указателей на этот массив сборщик мусора в конечном итоге освободит память, используемую массивом.Проблема в том, что в игре, где вам нужна стабильная частота кадров, сборка мусора может вызвать заикание частоты кадров.

Graph showing how the garbage collection cause reduction in framerate Чтобы предотвратить падение fps, я хочу создать массивзаранее, но проблема в том, что я не знаю, насколько большим должен быть массив.Я предполагаю, что, начиная с массива 0 длины, а затем увеличивая его, можно будет назначать и освобождать память по мере заполнения массива, но уменьшать длину массива, используя такие операции, как pop () или устанавливая длину массива.в 0 вызвать переназначение памяти и дать работу сборщику мусора?

let someArray = [];
// ... Inside game loop...
someArray.push(newElement); // Here memory might be re-allocated if the array increases too much.
// ...
someArray.length = 0; // Could this cause the array to be re-allocated to a smaller chunk of memory? Could this trigger garbage collection?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...