Как оптимизировать анимацию под браузер Firefox?

Как оптимизировать анимацию под браузер Firefox? Проблема в том что эта анимация при запуске в браузере FireFox нагружает память ПК и рендерится отрывисто. Как это можно исправить ?

.bg-wave-animation {
  position: absolute;
  top: 50%;
  left: 50%;
  min-height: 10rem;
  min-width: 10rem;
  z-index: 2;
}
.bg-wave-animation .wave {
  width: 100%;
  height: 100%;
  position: absolute;
  will-change: transform;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  border: 0.2rem solid rgba(0, 0, 0, 0.05);
  box-shadow: 2.6rem 1.2rem 6.6rem 0.6rem rgba(0, 0, 0, 0.25);
  border-radius: 100%;
  animation-timing-function: cubic-bezier(0, 0, 1, 1);
  fill: transparent;
}
.bg-wave-animation .wave:nth-child(1) {
  width: 130%;
  height: 130%;
  animation: 3s wave1;
  animation-iteration-count: infinite;
}
.bg-wave-animation .wave:nth-child(2) {
  width: 160%;
  height: 160%;
  animation: 3s wave2;
  animation-iteration-count: infinite;
}
.bg-wave-animation .wave:nth-child(3) {
  width: 190%;
  height: 190%;
  animation: 3s wave3;
  animation-iteration-count: infinite;
}
.bg-wave-animation .wave:nth-child(4) {
  width: 220%;
  height: 220%;
  animation: 3s wave4;
  animation-iteration-count: infinite;
}

@keyframes wave1 {
    0%{   will-change: transform; transform-origin: center; opacity: 0; transform: translate(-50%, -50%) scale(1);}
    20%{    will-change: transform; transform-origin: center; opacity: 1; transform: translate(-50%, -50%) scale(1.1);} 
    100%{    will-change: transform; transform-origin: center; opacity: 0; transform: translate(-50%, -50%) scale(1);} 
}

@keyframes wave2 {
    0%{    will-change: transform;transform-origin: center; opacity: 0; transform: translate(-50%, -50%) scale(1);}
    40%{    will-change: transform; transform-origin: center;opacity: 1; transform: translate(-50%, -50%) scale(1.1);} 
    100%{   will-change: transform;  transform-origin: center;opacity: 0; transform: translate(-50%, -50%) scale(1);} 
}

@keyframes wave3 {
    0%{   will-change: transform; transform-origin: center; opacity: 0; transform: translate(-50%, -50%) scale(1);}
    60%{    will-change: transform; transform-origin: center;opacity: 1; transform: translate(-50%, -50%) scale(1.1);} 
    100%{   will-change: transform;  transform-origin: center;opacity: 0; transform: translate(-50%, -50%) scale(1);} 
}

@keyframes wave4 {
    0%{    will-change: transform;transform-origin: center; opacity: 0; transform: translate(-50%, -50%) scale(1);}
    70%{    will-change: transform; transform-origin: center;opacity: 1; transform: translate(-50%, -50%) scale(1.1);} 
    100%{   will-change: transform;  transform-origin: center;opacity: 0; transform: translate(-50%, -50%) scale(1);} 
}
 <div class="bg-wave-animation" >
        <svg class="wave" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
        
        </svg>
        <svg class="wave" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
            
        </svg>
        <svg class="wave" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
            
        </svg>
    </div>


Ответы (0 шт):