2013-10-30 2 views
2

나는 간단한 전환 애니메이션을 div 요소에 있습니다. 불필요한 페인트 이벤트를 방지하기 위해 더 높은 z- 인덱스 및 0 변환을 적용하므로이 div이 그 레이어에있을 가능성이 큽니다. 그러나 폭포 차트는 각 애니메이션 틱 이후에 레이어 구성 이벤트가 발생할 가능성이 있음을 보여줍니다. GPU 페이지가 렌더링되기 전에이 마지막 레이어 구성이되어서 페이지의 모든 변경 전에 필연적입니까? 아니면 그냥 잘못된 것이 있습니까?크롬 개발 도구의 레이어 구성

답변

8

타임 라인의 합성 이벤트는 애니메이션 프레임을 업데이트하는 동안 항상 발생하며 이전의 가정은 정확합니다. 움직이는 div가 실제로 레이어가되었는지 여부를 확인하려면 Paint 이벤트를 찾습니다.이 이벤트는 레이어마다 있으며 레이어 내용이 변경되지 않으면 한 레이어가 다른 레이어로 전환 된 경우 애니메이션 중에 페인트 이벤트가 없어야합니다. 최근 버전의 Chrome (m30 +)에서 타임 라인은 이벤트의 팝업에서 페인트와 관련된 레이어의 루트를 보여줍니다.

움직이는 요소가 레이어로 승격되었는지 여부를 확인하는 또 다른 방법은 실험용 레이어 패널입니다 (DevTools 실험을 about : flags로 설정하고 Chrome을 다시 시작한 다음 DevTools 설정의 실험 탭에서 레이어 패널 사용).

관련 문제