Как работает обнаружение изменений и что меняет OnPush?
По умолчанию Angular проверяет каждый компонент дерева после всего, что могло изменить состояние. OnPush сужает это: компонент проверяется, только когда меняется ссылка во входе, внутри него происходит событие или испускает observable, читаемый через async. Проверка всего дерева превращается в точечную, и это крупнейший рычаг производительности в Angular.