I'm working on a page turn animation. El rendimiento es decepcionante. Particularmente si toma la clase pages
y la convierte en algo así como 800px de ancho (pegue $('.pages').css({width: '960px', height: '600px'});
en su consola). Solía tener alrededor de 16 transiciones funcionando a la vez y la reduje a 9, ¡muchas de las cuales son transformadas! No sé qué más puedo hacer.Transiciones de CSS, las animaciones tienen un rendimiento terrible, comportamiento
Parece que Chrome no está utilizando la GPU. Se clava el FPS en la página giro inicial pero luego sumerge abajo a intervalos regulares (habilitados esto con about:flags
):
¡Pruébalo en Safari y obtendrá un mejor rendimiento, pero ver que las animaciones no se sincronizan arriba, a menudo detrás de la otra, y hay una extraña inestabilidad que Román Cortés's project also suffered from en el mismo navegador (aún no lo he hecho funcionar en Fx).
No ha habido mucho material bueno acerca de cómo optimizar las transiciones y animaciones de CSS en la web y he estado enseñándome principalmente a mí mismo. Esperaba que alguien tuviera este tipo de consejos.
Bien, tendré que estudiar esta técnica ya que a Safari parece gustarle mejor. Sin embargo, Chrome en Mac lo renderiza con trozos de píxeles aleatorios que se vuelven negros o revela la capa subyacente al azar. –
Sí, al parecer, la versión webkit de Chrome 15 (?) Tiene un error donde los z-orders implícitos se confunden cuando se agregan las transformaciones. Voy a abordar una versión con una configuración explícita de z-index y ver si soluciona las cosas. –
Acabo de descubrir que si agrega '-webkit-transform-style: preserve-3d' no parpadea así. Todavía tengo un recorte donde no debería. –