TLDR
- Наведите курсор на угловые компоненты - все в порядке!
- Наведите указатель мыши на компоненты AngularJS - очень высокая загрузка процессора, проблемы с производительностью, почему?
У нас есть угловое гибридное приложение. Используемые версии:
- Угловой: 7.1.3
- AngularJS: 1,7,5
- zone.js: 0,8,28
К сожалению, у нас огромные проблемы с производительностью. Я обнаружил, что при перемещении мыши загрузка процессора увеличивается до до 100% .
Странная вещь: компоненты, которые уже обновлены до Angular, не имеют такого поведения! Когда вы перемещаете мышь, она не влияет на монитор процессора. Однако в старых AngularJS-Components, которые еще не обновлены, это выглядит как на рисунке ниже.
В zone.js мы использовали черные списки, как описано здесь
polyfills.js , (импортируется byindex.html)
window.__Zone_disable_requestAnimationFrame = true; /* disable patch requestAnimationFrame */
window.__Zone_disable_on_property = true; /* disable patch onProperty such as onclick */
window.__zone_symbol__BLACK_LISTED_EVENTS = [
'scroll',
'mouseenter',
'mouseleave',
'mouseout',
'mouseover',
'mousewheel',
'mousemove',
'dragover',
'dragenter',
'dragleave',
]; /* disable patch specified eventNames */
/* black list scroll event handler for onProp */
const targets = [window, Document.prototype, HTMLBodyElement.prototype, HTMLElement.prototype];
window.__Zone_ignore_on_properties = [];
targets.forEach(function(target) {
window.__Zone_ignore_on_properties.push({
target: target,
ignoreProperties: ['scroll', 'mouseenter', 'mouseleave', 'mousemove', 'mouseover', 'mouseout', 'mousewheel'],
});
});
window.__Zone_disable_XHR = true;
![enter image description here](https://i.stack.imgur.com/Dr1ji.gif)
Итак, как мы можем решить эту проблему, чтобы у части AngularJS не было этой огромной проблемы с производительностью?