файловая система html5 api - chrome зависает и падает при множественном чтении и записи - PullRequest
1 голос
/ 02 марта 2012

У меня есть фоновый поток (веб-работник), извлекающий тяжелые изображения с сервера и синхронно записывающий их в файловую систему.В то же время пользователю необходимо прокручивать изображения, которые уже были записаны в файловую систему.Поэтому при каждом запуске события прокрутки файл считывается из файловой системы асинхронно и отображается на холсте.Этот процесс генерирует одновременное чтение и запись, если пользователь прокручивает несколько изображений одновременно и, следовательно, вызывает зависание браузера и, в конечном итоге, сбой.Как я могу сделать это без зависания браузера?

1 Ответ

0 голосов
/ 03 марта 2012

Обратите внимание: это дикое предположение о том, что происходит, никто не может быть на 100% уверен, не зная, что на самом деле делает ваш код.

Скорее всего, ваш подход требуетмного памяти кучи JS (например, вы никогда не кэшируете изображения, уже прочитанные, а перечитываете их, отбрасывая предыдущие данные.) Зависания могут быть результатом нескольких полных сборок мусора в V8, а возможный сбой - в результате исчерпания памяти V8.* Я предлагаю вам использовать Chrome Developer Tools '( Ctrl + Shift + I ) Profiles и сделать несколько снимков кучи до того, как вкладка выйдет из строя.Затем вы можете сравнить их (правый ВЫБОР в нижней строке состояния, выбрать «Объекты, распределенные между снимками 1 и 2»), чтобы увидеть, верна ли эта гипотеза.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...