Мой сайт занимает так много процессора на моем компьютере

the tab that has 36% cpu usage is the tab of my website

я использую в этом проекте django с чистым css и js и кажется, что мой сайт потребляет так много процессора также я использую градиентную анимацию с помощью css

    body {
    background: linear-gradient(to right, rgb(247, 85, 202), rgb(18, 103, 248));
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;

}.nav-link ,.navbar-brand ,.nav-link:hover ,.navbar-brand:hover {
    background: linear-gradient(to right, rgb(247, 85, 202), rgb(18, 103, 248));
    -webkit-background-clip: text;
    background-size: 400% 400%;
    color: transparent;
    animation: gradient 15s ease infinite;

}
@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

дополнительно я использую слушатель событий для всего документа с помощью Javascript

 document.querySelectorAll('.edit').forEach((button) => {
      .
      .
      .
    })
document.querySelectorAll('.filter-green').forEach(like => {...})

Ваша проблема заключается в использовании анимации на градиентном фоне - если только на элементе body, то на моей системе (Windows 10/Edge достаточно мощный ноутбук) я не вижу такого большого использования CPU, но использование GPU очень высокое (около 48%).

Если я затем ввожу анимацию на двух других элементах, которые имеют анимированные фоны, GPU увеличивается до 60%-75%.

Начните с того, что решите, что действительно должно иметь анимированный фон. Я подозреваю, что это тело, которое вы хотите показать, и убрать анимацию с других элементов.

У вас по-прежнему высокая загрузка CPU или GPU, и ваши пользователи не поблагодарят вас за такое поведение, разряжающее батарею.

Я бы посоветовал вам либо отказаться от идеи анимировать этот тип градиента, либо, по крайней мере, предоставить пользователям возможность включать и выключать его. В любом случае, обратите внимание на то, просили ли они сделать сайт с низким уровнем движения - некоторые люди плохо реагируют на движение на экране.

См. MDN для получения информации о доступности и анимации.

Вернуться на верх