Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

115
Vistas
Mejorar el rendimiento del sitio web que tiene muchas animaciones.

Hice un sitio web para reproducir música, usa muchas animaciones cuando presionas notas o reproduces una canción. Tengo problemas con el rendimiento, especialmente en dispositivos móviles, así que quería averiguar qué lo estaba causando. Pasé por la creación de perfiles usando Google Chrome y me dice que está sucediendo mucho Recalculate Style , y que 30 elementos se ven afectados cada vez. Intenté hacer que las animaciones tuvieran el mejor rendimiento posible, utilicé animaciones de escala de transformación y color de fondo, además agregué el accesorio will-change al elemento que tiene la mayoría de los cambios, con la esperanza de resolver problemas, pero no lo he hecho. No he podido ganar mucho.

Estaba pensando que tal vez el mayor problema podría ser con la animación del color de fondo, ya que eso causará un repintado a lo largo de la animación, pero aún no entiendo por qué causaría un Recalculate Style . Aquí está el enlace para la versión beta del sitio web . Si alguien pudiera ayudarme a localizar el problema.

PD: para probar y hacer una prueba de estrés de la aplicación, descargue e importe esta canción aquí

Aquí hay algunos gráficos:

perfilador de cromo de abajo hacia arriba registro de eventos

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Mirando el sitio web y las discusiones en los comentarios. Parece que la mayor parte de su problema de rendimiento se debe a la composición SVG cada vez que cambia la nota. La representación SVG en los navegadores en estos días es bastante rápida, pero aún no tan rápida como, por ejemplo, una representación PNG.

Se me ocurrieron dos opciones.

  1. Cree todas las notas con los estilos establecidos y luego establezca la visibilidad. El único problema aquí es que no estoy seguro de si el navegador volverá a renderizar el SVG cuando entre o no esté visible. Tal vez una opacidad muy baja también podría ayudar aquí. Básicamente, tenga todos los estados de las notas con una posición absoluta una encima de la otra, el estado activo tendría una opacidad total, los demás una muy baja.

  2. Cree dinámicamente los SVG en PNG para cada estado, luego podría simplemente voltear los PNG, lo que debería ser mucho más rápido que el SVG haciendo un redibujado cada vez.

Personalmente, me gusta la opción 1., pero solo necesitaré hacer algunas pruebas. Hacer transiciones de opacidad es ciertamente rápido y fluido en el navegador, por lo que es de esperar que el SVG no requiera volver a renderizarse. Digo opacidad muy baja, en caso de que el navegador vea una opacidad como 0, como equivalente a la visibilidad oculta, y decidió perder el lienzo de renderizado y hacer otro dibujo SVG cuando vuelva a ser visible. Una vez más, algunas pruebas aquí confirmarían.

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda