Любая производительность выигрывает от передачи работы на 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));

в этой ситуации обратный вызов просто скрывает загрузочный счетчик.

Заранее благодарю за любую помощь.

0 ответов

Другие вопросы по тегам