페인트 유지 - 동일 출처 탐색에서 흰색 플래시 감소

한동안 Chrome은 페이지가 로드되고 있다고 사용자에게 안심시켜 주기 위해 새 페이지로 전환할 때 화면을 즉시 지웠습니다. 이 '흰색 플래시'는 페이지를 로드하는 동안 브라우저에 흰색 페인트가 표시되는 짧은 순간입니다. 특히 페이지가 더 흥미로운 상태에 도달하는 속도가 상당히 빠른 경우 탐색 간에 방해가 될 수 있습니다.

하지만 매우 빠르게 로드되는 페이지의 경우 이 접근 방식은 실제로 사용자 환경에 해롭습니다. 다음 애니메이션은 현재의 모습을 보여주는 예시입니다.

이 웹사이트의 열렬한 팬으로서, 양질의 환경에 흰색 플래시가 표시되는 문제를 해결하고자 합니다. 새로운 행동으로 그렇게 했습니다. Paint Holding이라고 부릅니다. 페인트 홀더는 특히 페이지가 충분히 빠른 경우에 페인트가 시작됩니다. 이렇게 하면 페이지 전체가 렌더링되므로 진정한 즉각적인 경험을 제공할 수 있습니다.

이렇게 작동하는 방식은 주어진 페이지가 로드될 때까지 컴포지터 커밋을 지연시키는 것입니다. 신호 (PLS) (예: 콘텐츠가 포함된 첫 페인트 / 고정된 제한 시간)에 도달했는지 확인합니다. 기본 스레드 렌더링 작업과 impl 스레드에 대한 커밋 구별 후자만 지연됨). PLS가 발생할 때까지 기다리면 흰색/단색 플래시가 있습니다.

이 작업의 목표는 Chrome에서 동일한 출처의 두 페이지 간에 원활하게 탐색할 수 있도록 하여 기존 콘텐츠와 새 콘텐츠 간에 흰색/단색 배경이 깜박이지 않는 빠른 기본 탐색 환경을 제공하는 것이었습니다.

Chrome Canary (Chrome 76)의 페인트 홀딩을 사용해 보고 의견을 알려주세요. 개발자는 이 기능을 활용하기 위해 페이지를 수정할 필요가 없습니다.