Любая производительность выигрывает от передачи работы на background.js
У меня есть приложение, упакованное Chrome, с использованием бумажных элементов Polymer. он использует аудио тег HTML5 для потоковой передачи музыки из онлайн-сервиса. Моя проблема, когда приложение получает результаты с сервера и анализирует массив во время игры. Иногда музыка останавливается на несколько миллисекунд. (несколько секунд на недорогих устройствах Chromebook) Я попытался использовать асинхронный метод Polymers, чтобы задержать работу до следующей доступной микрозадачи. Это помогает, но вызывает нежелательные вещи в интерфейсе. (содержимое, которое не должно отображаться, отображается до тех пор, пока не будет выполнен асинхронный метод)
В настоящее время у меня ничего не происходит в файле background.js. Все происходит в файле main.js или в пользовательском элементе.
Могу ли я увидеть какой-либо выигрыш в производительности от использования передачи сообщений, чтобы продвинуть часть работы при разборе ответа на файл background.js?
Пример работы, которая, кажется, вызывает паузу в аудио.
var i = 0;
Array.prototype.forEach.call(response.albumList2.album, function (e) {
// buildObject returns the needed data from the object that is returned from the loop as well as other needed data
var obj = this.buildObject(e);
// this.wall is the array that i pass to core-list to display
this.wall.push(obj);
// this is to keep callback from executing before the array is built
i = i + 1;
if (i === response.albumList2.album.length) {
this.async(callback);
}
}.bind(this));
в этой ситуации обратный вызов просто скрывает загрузочный счетчик.
Заранее благодарю за любую помощь.