JavaFx WebView Javascript изменяет потребление ресурсов процессора
У меня есть проект, который работает на веб-сайте AngularJs внутри JFX WebView. Всякий раз, когда какой-либо javascript работает в цикле, загрузка процессора увеличивается до 100% Чтобы быть более конкретным, у меня есть
$scope.moveFloatingBanner = function () {
try {
var dx = $scope.activeFloatingBanner.startX - $scope.activeFloatingBanner.endX,
dy = $scope.activeFloatingBanner.startY - $scope.activeFloatingBanner.endY,
i = 1;
function loop() {
LogService.info("In lool");
if ($scope.breakAnimation) {
$scope.domElement.style.display = 'none';
return;
}
if (i >= $scope.activeFloatingBanner.time) {
$scope.domElement.style.display = 'none';
$scope.changeFloatingBannerTimeout = $timeout($scope.changeFloatingBanner, $scope.activeFloatingBanner.nextDelay);
return;
}
i += 1;
$scope.domElement.style.left = ($scope.activeFloatingBanner.startX - (dx * i / $scope.activeFloatingBanner.time)).toFixed(0) + 'px';
$scope.domElement.style.top = ($scope.activeFloatingBanner.startY - (dy * i / $scope.activeFloatingBanner.time)).toFixed(0) + 'px';
$scope.moveBannerTimeout = $timeout(loop, 1);
}
loop();
}
catch (e) {
LogService.error(e);
}
}
Это код, отвечающий за перемещение баннера. Этот код не имеет проблем при запуске в Chrome или любом другом браузере. Другая часть кода отвечает за обновление баннера в пользовательском интерфейсе, это вечный тайм-аут, который каждые 10 секунд получает новый баннер с сервера. Когда оба цикла запускаются одновременно, загрузка процессора увеличивается до 140%. Процессоры, на которых они работают, довольно слабые, а интерфейс начинает отставать. При запуске на моей локальной машине он не лагает, но GPU поднимается примерно до 40-50%. При запуске без этих двух циклов загрузка процессора на слабой машине составляет около 6-7%, а моя локальная машина использует около 2% графического процессора. Я использую oracle JDK 8, версию Java "1.8.0_162-ea".
Есть идеи, что может быть причиной проблемы? Может быть, проблема с JFX? Версия JDK?