У меня есть холст WebGL, который содержит где-то около 90 тыс. Вершин, а затем несколько файлов «действий», которые в основном говорят на каждом «временном шаге», какой цвет должна иметь каждая вершина. Это действие разбито на несколько «кусков», каждый из которых хранится в отдельном файле. После того, как действие из одного файла прошло, я прочитал новый как:
activitiesData = null;
activitiesData = nextActivitiesFileData.slice(0);
Здесь nextActivitiesFileData
асинхронно читается при вызове ajax. Теперь все это прекрасно работает при первом запуске, а иногда даже при некоторых других запусках, но где-то в интервале между 2 и 10 запусками происходит сбой.
Теперь я предполагаю, что это связано с тем, что используемые очень большие данные почему-то недостаточно быстро обрабатываются. Я старался всегда быть осторожным, используя var
, и присвоил ненужные массивы null
.
Что я могу сделать, чтобы попытаться «помочь» процессу сбора мусора? Может ли эта катастрофа быть какой-либо другой природы?